/*! For license information please see main.js.LICENSE.txt */
;(() => {
  var e,
    t,
    n,
    r,
    s = {
      3954: () => {},
      4963: (e, t, n) => {
        'use strict'
        var r = {}
        n.r(r),
          n.d(r, {
            afterMain: () => x,
            afterRead: () => w,
            afterWrite: () => C,
            applyStyles: () => P,
            arrow: () => J,
            auto: () => l,
            basePlacements: () => c,
            beforeMain: () => v,
            beforeRead: () => b,
            beforeWrite: () => A,
            bottom: () => i,
            clippingParents: () => p,
            computeStyles: () => re,
            createPopper: () => Le,
            createPopperBase: () => Ie,
            createPopperLite: () => Pe,
            detectOverflow: () => be,
            end: () => d,
            eventListeners: () => ie,
            flip: () => ye,
            hide: () => Ee,
            left: () => a,
            main: () => E,
            modifierPhases: () => T,
            offset: () => xe,
            placements: () => g,
            popper: () => f,
            popperGenerator: () => ke,
            popperOffsets: () => Ae,
            preventOverflow: () => Se,
            read: () => y,
            reference: () => m,
            right: () => o,
            start: () => u,
            top: () => s,
            variationPlacements: () => _,
            viewport: () => h,
            write: () => S
          })
        var s = 'top',
          i = 'bottom',
          o = 'right',
          a = 'left',
          l = 'auto',
          c = [s, i, o, a],
          u = 'start',
          d = 'end',
          p = 'clippingParents',
          h = 'viewport',
          f = 'popper',
          m = 'reference',
          _ = c.reduce(function (e, t) {
            return e.concat([t + '-' + u, t + '-' + d])
          }, []),
          g = [].concat(c, [l]).reduce(function (e, t) {
            return e.concat([t, t + '-' + u, t + '-' + d])
          }, []),
          b = 'beforeRead',
          y = 'read',
          w = 'afterRead',
          v = 'beforeMain',
          E = 'main',
          x = 'afterMain',
          A = 'beforeWrite',
          S = 'write',
          C = 'afterWrite',
          T = [b, y, w, v, E, x, A, S, C]
        function N (e) {
          return e ? (e.nodeName || '').toLowerCase() : null
        }
        function O (e) {
          if (null == e) return window
          if ('[object Window]' !== e.toString()) {
            var t = e.ownerDocument
            return (t && t.defaultView) || window
          }
          return e
        }
        function k (e) {
          return e instanceof O(e).Element || e instanceof Element
        }
        function I (e) {
          return e instanceof O(e).HTMLElement || e instanceof HTMLElement
        }
        function L (e) {
          return (
            'undefined' != typeof ShadowRoot &&
            (e instanceof O(e).ShadowRoot || e instanceof ShadowRoot)
          )
        }
        const P = {
          name: 'applyStyles',
          enabled: !0,
          phase: 'write',
          fn: function (e) {
            var t = e.state
            Object.keys(t.elements).forEach(function (e) {
              var n = t.styles[e] || {},
                r = t.attributes[e] || {},
                s = t.elements[e]
              I(s) &&
                N(s) &&
                (Object.assign(s.style, n),
                Object.keys(r).forEach(function (e) {
                  var t = r[e]
                  !1 === t
                    ? s.removeAttribute(e)
                    : s.setAttribute(e, !0 === t ? '' : t)
                }))
            })
          },
          effect: function (e) {
            var t = e.state,
              n = {
                popper: {
                  position: t.options.strategy,
                  left: '0',
                  top: '0',
                  margin: '0'
                },
                arrow: { position: 'absolute' },
                reference: {}
              }
            return (
              Object.assign(t.elements.popper.style, n.popper),
              (t.styles = n),
              t.elements.arrow &&
                Object.assign(t.elements.arrow.style, n.arrow),
              function () {
                Object.keys(t.elements).forEach(function (e) {
                  var r = t.elements[e],
                    s = t.attributes[e] || {},
                    i = Object.keys(
                      t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]
                    ).reduce(function (e, t) {
                      return (e[t] = ''), e
                    }, {})
                  I(r) &&
                    N(r) &&
                    (Object.assign(r.style, i),
                    Object.keys(s).forEach(function (e) {
                      r.removeAttribute(e)
                    }))
                })
              }
            )
          },
          requires: ['computeStyles']
        }
        function R (e) {
          return e.split('-')[0]
        }
        var M = Math.max,
          D = Math.min,
          j = Math.round
        function F () {
          var e = navigator.userAgentData
          return null != e && e.brands
            ? e.brands
                .map(function (e) {
                  return e.brand + '/' + e.version
                })
                .join(' ')
            : navigator.userAgent
        }
        function q () {
          return !/^((?!chrome|android).)*safari/i.test(F())
        }
        function $ (e, t, n) {
          void 0 === t && (t = !1), void 0 === n && (n = !1)
          var r = e.getBoundingClientRect(),
            s = 1,
            i = 1
          t &&
            I(e) &&
            ((s = (e.offsetWidth > 0 && j(r.width) / e.offsetWidth) || 1),
            (i = (e.offsetHeight > 0 && j(r.height) / e.offsetHeight) || 1))
          var o = (k(e) ? O(e) : window).visualViewport,
            a = !q() && n,
            l = (r.left + (a && o ? o.offsetLeft : 0)) / s,
            c = (r.top + (a && o ? o.offsetTop : 0)) / i,
            u = r.width / s,
            d = r.height / i
          return {
            width: u,
            height: d,
            top: c,
            right: l + u,
            bottom: c + d,
            left: l,
            x: l,
            y: c
          }
        }
        function B (e) {
          var t = $(e),
            n = e.offsetWidth,
            r = e.offsetHeight
          return (
            Math.abs(t.width - n) <= 1 && (n = t.width),
            Math.abs(t.height - r) <= 1 && (r = t.height),
            { x: e.offsetLeft, y: e.offsetTop, width: n, height: r }
          )
        }
        function U (e, t) {
          var n = t.getRootNode && t.getRootNode()
          if (e.contains(t)) return !0
          if (n && L(n)) {
            var r = t
            do {
              if (r && e.isSameNode(r)) return !0
              r = r.parentNode || r.host
            } while (r)
          }
          return !1
        }
        function H (e) {
          return O(e).getComputedStyle(e)
        }
        function W (e) {
          return ['table', 'td', 'th'].indexOf(N(e)) >= 0
        }
        function z (e) {
          return ((k(e) ? e.ownerDocument : e.document) || window.document)
            .documentElement
        }
        function K (e) {
          return 'html' === N(e)
            ? e
            : e.assignedSlot || e.parentNode || (L(e) ? e.host : null) || z(e)
        }
        function Z (e) {
          return I(e) && 'fixed' !== H(e).position ? e.offsetParent : null
        }
        function G (e) {
          for (
            var t = O(e), n = Z(e);
            n && W(n) && 'static' === H(n).position;

          )
            n = Z(n)
          return n &&
            ('html' === N(n) || ('body' === N(n) && 'static' === H(n).position))
            ? t
            : n ||
                (function (e) {
                  var t = /firefox/i.test(F())
                  if (/Trident/i.test(F()) && I(e) && 'fixed' === H(e).position)
                    return null
                  var n = K(e)
                  for (
                    L(n) && (n = n.host);
                    I(n) && ['html', 'body'].indexOf(N(n)) < 0;

                  ) {
                    var r = H(n)
                    if (
                      'none' !== r.transform ||
                      'none' !== r.perspective ||
                      'paint' === r.contain ||
                      -1 !==
                        ['transform', 'perspective'].indexOf(r.willChange) ||
                      (t && 'filter' === r.willChange) ||
                      (t && r.filter && 'none' !== r.filter)
                    )
                      return n
                    n = n.parentNode
                  }
                  return null
                })(e) ||
                t
        }
        function X (e) {
          return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y'
        }
        function Q (e, t, n) {
          return M(e, D(t, n))
        }
        function V (e) {
          return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e)
        }
        function Y (e, t) {
          return t.reduce(function (t, n) {
            return (t[n] = e), t
          }, {})
        }
        const J = {
          name: 'arrow',
          enabled: !0,
          phase: 'main',
          fn: function (e) {
            var t,
              n = e.state,
              r = e.name,
              l = e.options,
              u = n.elements.arrow,
              d = n.modifiersData.popperOffsets,
              p = R(n.placement),
              h = X(p),
              f = [a, o].indexOf(p) >= 0 ? 'height' : 'width'
            if (u && d) {
              var m = (function (e, t) {
                  return V(
                    'number' !=
                      typeof (e =
                        'function' == typeof e
                          ? e(
                              Object.assign({}, t.rects, {
                                placement: t.placement
                              })
                            )
                          : e)
                      ? e
                      : Y(e, c)
                  )
                })(l.padding, n),
                _ = B(u),
                g = 'y' === h ? s : a,
                b = 'y' === h ? i : o,
                y =
                  n.rects.reference[f] +
                  n.rects.reference[h] -
                  d[h] -
                  n.rects.popper[f],
                w = d[h] - n.rects.reference[h],
                v = G(u),
                E = v
                  ? 'y' === h
                    ? v.clientHeight || 0
                    : v.clientWidth || 0
                  : 0,
                x = y / 2 - w / 2,
                A = m[g],
                S = E - _[f] - m[b],
                C = E / 2 - _[f] / 2 + x,
                T = Q(A, C, S),
                N = h
              n.modifiersData[r] =
                (((t = {})[N] = T), (t.centerOffset = T - C), t)
            }
          },
          effect: function (e) {
            var t = e.state,
              n = e.options.element,
              r = void 0 === n ? '[data-popper-arrow]' : n
            null != r &&
              ('string' != typeof r ||
                (r = t.elements.popper.querySelector(r))) &&
              U(t.elements.popper, r) &&
              (t.elements.arrow = r)
          },
          requires: ['popperOffsets'],
          requiresIfExists: ['preventOverflow']
        }
        function ee (e) {
          return e.split('-')[1]
        }
        var te = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }
        function ne (e) {
          var t,
            n = e.popper,
            r = e.popperRect,
            l = e.placement,
            c = e.variation,
            u = e.offsets,
            p = e.position,
            h = e.gpuAcceleration,
            f = e.adaptive,
            m = e.roundOffsets,
            _ = e.isFixed,
            g = u.x,
            b = void 0 === g ? 0 : g,
            y = u.y,
            w = void 0 === y ? 0 : y,
            v = 'function' == typeof m ? m({ x: b, y: w }) : { x: b, y: w }
          ;(b = v.x), (w = v.y)
          var E = u.hasOwnProperty('x'),
            x = u.hasOwnProperty('y'),
            A = a,
            S = s,
            C = window
          if (f) {
            var T = G(n),
              N = 'clientHeight',
              k = 'clientWidth'
            T === O(n) &&
              'static' !== H((T = z(n))).position &&
              'absolute' === p &&
              ((N = 'scrollHeight'), (k = 'scrollWidth')),
              (l === s || ((l === a || l === o) && c === d)) &&
                ((S = i),
                (w -=
                  (_ && T === C && C.visualViewport
                    ? C.visualViewport.height
                    : T[N]) - r.height),
                (w *= h ? 1 : -1)),
              (l !== a && ((l !== s && l !== i) || c !== d)) ||
                ((A = o),
                (b -=
                  (_ && T === C && C.visualViewport
                    ? C.visualViewport.width
                    : T[k]) - r.width),
                (b *= h ? 1 : -1))
          }
          var I,
            L = Object.assign({ position: p }, f && te),
            P =
              !0 === m
                ? (function (e) {
                    var t = e.x,
                      n = e.y,
                      r = window.devicePixelRatio || 1
                    return { x: j(t * r) / r || 0, y: j(n * r) / r || 0 }
                  })({ x: b, y: w })
                : { x: b, y: w }
          return (
            (b = P.x),
            (w = P.y),
            h
              ? Object.assign(
                  {},
                  L,
                  (((I = {})[S] = x ? '0' : ''),
                  (I[A] = E ? '0' : ''),
                  (I.transform =
                    (C.devicePixelRatio || 1) <= 1
                      ? 'translate(' + b + 'px, ' + w + 'px)'
                      : 'translate3d(' + b + 'px, ' + w + 'px, 0)'),
                  I)
                )
              : Object.assign(
                  {},
                  L,
                  (((t = {})[S] = x ? w + 'px' : ''),
                  (t[A] = E ? b + 'px' : ''),
                  (t.transform = ''),
                  t)
                )
          )
        }
        const re = {
          name: 'computeStyles',
          enabled: !0,
          phase: 'beforeWrite',
          fn: function (e) {
            var t = e.state,
              n = e.options,
              r = n.gpuAcceleration,
              s = void 0 === r || r,
              i = n.adaptive,
              o = void 0 === i || i,
              a = n.roundOffsets,
              l = void 0 === a || a,
              c = {
                placement: R(t.placement),
                variation: ee(t.placement),
                popper: t.elements.popper,
                popperRect: t.rects.popper,
                gpuAcceleration: s,
                isFixed: 'fixed' === t.options.strategy
              }
            null != t.modifiersData.popperOffsets &&
              (t.styles.popper = Object.assign(
                {},
                t.styles.popper,
                ne(
                  Object.assign({}, c, {
                    offsets: t.modifiersData.popperOffsets,
                    position: t.options.strategy,
                    adaptive: o,
                    roundOffsets: l
                  })
                )
              )),
              null != t.modifiersData.arrow &&
                (t.styles.arrow = Object.assign(
                  {},
                  t.styles.arrow,
                  ne(
                    Object.assign({}, c, {
                      offsets: t.modifiersData.arrow,
                      position: 'absolute',
                      adaptive: !1,
                      roundOffsets: l
                    })
                  )
                )),
              (t.attributes.popper = Object.assign({}, t.attributes.popper, {
                'data-popper-placement': t.placement
              }))
          },
          data: {}
        }
        var se = { passive: !0 }
        const ie = {
          name: 'eventListeners',
          enabled: !0,
          phase: 'write',
          fn: function () {},
          effect: function (e) {
            var t = e.state,
              n = e.instance,
              r = e.options,
              s = r.scroll,
              i = void 0 === s || s,
              o = r.resize,
              a = void 0 === o || o,
              l = O(t.elements.popper),
              c = [].concat(t.scrollParents.reference, t.scrollParents.popper)
            return (
              i &&
                c.forEach(function (e) {
                  e.addEventListener('scroll', n.update, se)
                }),
              a && l.addEventListener('resize', n.update, se),
              function () {
                i &&
                  c.forEach(function (e) {
                    e.removeEventListener('scroll', n.update, se)
                  }),
                  a && l.removeEventListener('resize', n.update, se)
              }
            )
          },
          data: {}
        }
        var oe = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }
        function ae (e) {
          return e.replace(/left|right|bottom|top/g, function (e) {
            return oe[e]
          })
        }
        var le = { start: 'end', end: 'start' }
        function ce (e) {
          return e.replace(/start|end/g, function (e) {
            return le[e]
          })
        }
        function ue (e) {
          var t = O(e)
          return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }
        }
        function de (e) {
          return $(z(e)).left + ue(e).scrollLeft
        }
        function pe (e) {
          var t = H(e),
            n = t.overflow,
            r = t.overflowX,
            s = t.overflowY
          return /auto|scroll|overlay|hidden/.test(n + s + r)
        }
        function he (e) {
          return ['html', 'body', '#document'].indexOf(N(e)) >= 0
            ? e.ownerDocument.body
            : I(e) && pe(e)
            ? e
            : he(K(e))
        }
        function fe (e, t) {
          var n
          void 0 === t && (t = [])
          var r = he(e),
            s = r === (null == (n = e.ownerDocument) ? void 0 : n.body),
            i = O(r),
            o = s ? [i].concat(i.visualViewport || [], pe(r) ? r : []) : r,
            a = t.concat(o)
          return s ? a : a.concat(fe(K(o)))
        }
        function me (e) {
          return Object.assign({}, e, {
            left: e.x,
            top: e.y,
            right: e.x + e.width,
            bottom: e.y + e.height
          })
        }
        function _e (e, t, n) {
          return t === h
            ? me(
                (function (e, t) {
                  var n = O(e),
                    r = z(e),
                    s = n.visualViewport,
                    i = r.clientWidth,
                    o = r.clientHeight,
                    a = 0,
                    l = 0
                  if (s) {
                    ;(i = s.width), (o = s.height)
                    var c = q()
                    ;(c || (!c && 'fixed' === t)) &&
                      ((a = s.offsetLeft), (l = s.offsetTop))
                  }
                  return { width: i, height: o, x: a + de(e), y: l }
                })(e, n)
              )
            : k(t)
            ? (function (e, t) {
                var n = $(e, !1, 'fixed' === t)
                return (
                  (n.top = n.top + e.clientTop),
                  (n.left = n.left + e.clientLeft),
                  (n.bottom = n.top + e.clientHeight),
                  (n.right = n.left + e.clientWidth),
                  (n.width = e.clientWidth),
                  (n.height = e.clientHeight),
                  (n.x = n.left),
                  (n.y = n.top),
                  n
                )
              })(t, n)
            : me(
                (function (e) {
                  var t,
                    n = z(e),
                    r = ue(e),
                    s = null == (t = e.ownerDocument) ? void 0 : t.body,
                    i = M(
                      n.scrollWidth,
                      n.clientWidth,
                      s ? s.scrollWidth : 0,
                      s ? s.clientWidth : 0
                    ),
                    o = M(
                      n.scrollHeight,
                      n.clientHeight,
                      s ? s.scrollHeight : 0,
                      s ? s.clientHeight : 0
                    ),
                    a = -r.scrollLeft + de(e),
                    l = -r.scrollTop
                  return (
                    'rtl' === H(s || n).direction &&
                      (a += M(n.clientWidth, s ? s.clientWidth : 0) - i),
                    { width: i, height: o, x: a, y: l }
                  )
                })(z(e))
              )
        }
        function ge (e) {
          var t,
            n = e.reference,
            r = e.element,
            l = e.placement,
            c = l ? R(l) : null,
            p = l ? ee(l) : null,
            h = n.x + n.width / 2 - r.width / 2,
            f = n.y + n.height / 2 - r.height / 2
          switch (c) {
            case s:
              t = { x: h, y: n.y - r.height }
              break
            case i:
              t = { x: h, y: n.y + n.height }
              break
            case o:
              t = { x: n.x + n.width, y: f }
              break
            case a:
              t = { x: n.x - r.width, y: f }
              break
            default:
              t = { x: n.x, y: n.y }
          }
          var m = c ? X(c) : null
          if (null != m) {
            var _ = 'y' === m ? 'height' : 'width'
            switch (p) {
              case u:
                t[m] = t[m] - (n[_] / 2 - r[_] / 2)
                break
              case d:
                t[m] = t[m] + (n[_] / 2 - r[_] / 2)
            }
          }
          return t
        }
        function be (e, t) {
          void 0 === t && (t = {})
          var n = t,
            r = n.placement,
            a = void 0 === r ? e.placement : r,
            l = n.strategy,
            u = void 0 === l ? e.strategy : l,
            d = n.boundary,
            _ = void 0 === d ? p : d,
            g = n.rootBoundary,
            b = void 0 === g ? h : g,
            y = n.elementContext,
            w = void 0 === y ? f : y,
            v = n.altBoundary,
            E = void 0 !== v && v,
            x = n.padding,
            A = void 0 === x ? 0 : x,
            S = V('number' != typeof A ? A : Y(A, c)),
            C = w === f ? m : f,
            T = e.rects.popper,
            O = e.elements[E ? C : w],
            L = (function (e, t, n, r) {
              var s =
                  'clippingParents' === t
                    ? (function (e) {
                        var t = fe(K(e)),
                          n =
                            ['absolute', 'fixed'].indexOf(H(e).position) >= 0 &&
                            I(e)
                              ? G(e)
                              : e
                        return k(n)
                          ? t.filter(function (e) {
                              return k(e) && U(e, n) && 'body' !== N(e)
                            })
                          : []
                      })(e)
                    : [].concat(t),
                i = [].concat(s, [n]),
                o = i[0],
                a = i.reduce(function (t, n) {
                  var s = _e(e, n, r)
                  return (
                    (t.top = M(s.top, t.top)),
                    (t.right = D(s.right, t.right)),
                    (t.bottom = D(s.bottom, t.bottom)),
                    (t.left = M(s.left, t.left)),
                    t
                  )
                }, _e(e, o, r))
              return (
                (a.width = a.right - a.left),
                (a.height = a.bottom - a.top),
                (a.x = a.left),
                (a.y = a.top),
                a
              )
            })(k(O) ? O : O.contextElement || z(e.elements.popper), _, b, u),
            P = $(e.elements.reference),
            R = ge({
              reference: P,
              element: T,
              strategy: 'absolute',
              placement: a
            }),
            j = me(Object.assign({}, T, R)),
            F = w === f ? j : P,
            q = {
              top: L.top - F.top + S.top,
              bottom: F.bottom - L.bottom + S.bottom,
              left: L.left - F.left + S.left,
              right: F.right - L.right + S.right
            },
            B = e.modifiersData.offset
          if (w === f && B) {
            var W = B[a]
            Object.keys(q).forEach(function (e) {
              var t = [o, i].indexOf(e) >= 0 ? 1 : -1,
                n = [s, i].indexOf(e) >= 0 ? 'y' : 'x'
              q[e] += W[n] * t
            })
          }
          return q
        }
        const ye = {
          name: 'flip',
          enabled: !0,
          phase: 'main',
          fn: function (e) {
            var t = e.state,
              n = e.options,
              r = e.name
            if (!t.modifiersData[r]._skip) {
              for (
                var d = n.mainAxis,
                  p = void 0 === d || d,
                  h = n.altAxis,
                  f = void 0 === h || h,
                  m = n.fallbackPlacements,
                  b = n.padding,
                  y = n.boundary,
                  w = n.rootBoundary,
                  v = n.altBoundary,
                  E = n.flipVariations,
                  x = void 0 === E || E,
                  A = n.allowedAutoPlacements,
                  S = t.options.placement,
                  C = R(S),
                  T =
                    m ||
                    (C !== S && x
                      ? (function (e) {
                          if (R(e) === l) return []
                          var t = ae(e)
                          return [ce(e), t, ce(t)]
                        })(S)
                      : [ae(S)]),
                  N = [S].concat(T).reduce(function (e, n) {
                    return e.concat(
                      R(n) === l
                        ? (function (e, t) {
                            void 0 === t && (t = {})
                            var n = t,
                              r = n.placement,
                              s = n.boundary,
                              i = n.rootBoundary,
                              o = n.padding,
                              a = n.flipVariations,
                              l = n.allowedAutoPlacements,
                              u = void 0 === l ? g : l,
                              d = ee(r),
                              p = d
                                ? a
                                  ? _
                                  : _.filter(function (e) {
                                      return ee(e) === d
                                    })
                                : c,
                              h = p.filter(function (e) {
                                return u.indexOf(e) >= 0
                              })
                            0 === h.length && (h = p)
                            var f = h.reduce(function (t, n) {
                              return (
                                (t[n] = be(e, {
                                  placement: n,
                                  boundary: s,
                                  rootBoundary: i,
                                  padding: o
                                })[R(n)]),
                                t
                              )
                            }, {})
                            return Object.keys(f).sort(function (e, t) {
                              return f[e] - f[t]
                            })
                          })(t, {
                            placement: n,
                            boundary: y,
                            rootBoundary: w,
                            padding: b,
                            flipVariations: x,
                            allowedAutoPlacements: A
                          })
                        : n
                    )
                  }, []),
                  O = t.rects.reference,
                  k = t.rects.popper,
                  I = new Map(),
                  L = !0,
                  P = N[0],
                  M = 0;
                M < N.length;
                M++
              ) {
                var D = N[M],
                  j = R(D),
                  F = ee(D) === u,
                  q = [s, i].indexOf(j) >= 0,
                  $ = q ? 'width' : 'height',
                  B = be(t, {
                    placement: D,
                    boundary: y,
                    rootBoundary: w,
                    altBoundary: v,
                    padding: b
                  }),
                  U = q ? (F ? o : a) : F ? i : s
                O[$] > k[$] && (U = ae(U))
                var H = ae(U),
                  W = []
                if (
                  (p && W.push(B[j] <= 0),
                  f && W.push(B[U] <= 0, B[H] <= 0),
                  W.every(function (e) {
                    return e
                  }))
                ) {
                  ;(P = D), (L = !1)
                  break
                }
                I.set(D, W)
              }
              if (L)
                for (
                  var z = function (e) {
                      var t = N.find(function (t) {
                        var n = I.get(t)
                        if (n)
                          return n.slice(0, e).every(function (e) {
                            return e
                          })
                      })
                      if (t) return (P = t), 'break'
                    },
                    K = x ? 3 : 1;
                  K > 0 && 'break' !== z(K);
                  K--
                );
              t.placement !== P &&
                ((t.modifiersData[r]._skip = !0),
                (t.placement = P),
                (t.reset = !0))
            }
          },
          requiresIfExists: ['offset'],
          data: { _skip: !1 }
        }
        function we (e, t, n) {
          return (
            void 0 === n && (n = { x: 0, y: 0 }),
            {
              top: e.top - t.height - n.y,
              right: e.right - t.width + n.x,
              bottom: e.bottom - t.height + n.y,
              left: e.left - t.width - n.x
            }
          )
        }
        function ve (e) {
          return [s, o, i, a].some(function (t) {
            return e[t] >= 0
          })
        }
        const Ee = {
            name: 'hide',
            enabled: !0,
            phase: 'main',
            requiresIfExists: ['preventOverflow'],
            fn: function (e) {
              var t = e.state,
                n = e.name,
                r = t.rects.reference,
                s = t.rects.popper,
                i = t.modifiersData.preventOverflow,
                o = be(t, { elementContext: 'reference' }),
                a = be(t, { altBoundary: !0 }),
                l = we(o, r),
                c = we(a, s, i),
                u = ve(l),
                d = ve(c)
              ;(t.modifiersData[n] = {
                referenceClippingOffsets: l,
                popperEscapeOffsets: c,
                isReferenceHidden: u,
                hasPopperEscaped: d
              }),
                (t.attributes.popper = Object.assign({}, t.attributes.popper, {
                  'data-popper-reference-hidden': u,
                  'data-popper-escaped': d
                }))
            }
          },
          xe = {
            name: 'offset',
            enabled: !0,
            phase: 'main',
            requires: ['popperOffsets'],
            fn: function (e) {
              var t = e.state,
                n = e.options,
                r = e.name,
                i = n.offset,
                l = void 0 === i ? [0, 0] : i,
                c = g.reduce(function (e, n) {
                  return (
                    (e[n] = (function (e, t, n) {
                      var r = R(e),
                        i = [a, s].indexOf(r) >= 0 ? -1 : 1,
                        l =
                          'function' == typeof n
                            ? n(Object.assign({}, t, { placement: e }))
                            : n,
                        c = l[0],
                        u = l[1]
                      return (
                        (c = c || 0),
                        (u = (u || 0) * i),
                        [a, o].indexOf(r) >= 0 ? { x: u, y: c } : { x: c, y: u }
                      )
                    })(n, t.rects, l)),
                    e
                  )
                }, {}),
                u = c[t.placement],
                d = u.x,
                p = u.y
              null != t.modifiersData.popperOffsets &&
                ((t.modifiersData.popperOffsets.x += d),
                (t.modifiersData.popperOffsets.y += p)),
                (t.modifiersData[r] = c)
            }
          },
          Ae = {
            name: 'popperOffsets',
            enabled: !0,
            phase: 'read',
            fn: function (e) {
              var t = e.state,
                n = e.name
              t.modifiersData[n] = ge({
                reference: t.rects.reference,
                element: t.rects.popper,
                strategy: 'absolute',
                placement: t.placement
              })
            },
            data: {}
          },
          Se = {
            name: 'preventOverflow',
            enabled: !0,
            phase: 'main',
            fn: function (e) {
              var t = e.state,
                n = e.options,
                r = e.name,
                l = n.mainAxis,
                c = void 0 === l || l,
                d = n.altAxis,
                p = void 0 !== d && d,
                h = n.boundary,
                f = n.rootBoundary,
                m = n.altBoundary,
                _ = n.padding,
                g = n.tether,
                b = void 0 === g || g,
                y = n.tetherOffset,
                w = void 0 === y ? 0 : y,
                v = be(t, {
                  boundary: h,
                  rootBoundary: f,
                  padding: _,
                  altBoundary: m
                }),
                E = R(t.placement),
                x = ee(t.placement),
                A = !x,
                S = X(E),
                C = 'x' === S ? 'y' : 'x',
                T = t.modifiersData.popperOffsets,
                N = t.rects.reference,
                O = t.rects.popper,
                k =
                  'function' == typeof w
                    ? w(Object.assign({}, t.rects, { placement: t.placement }))
                    : w,
                I =
                  'number' == typeof k
                    ? { mainAxis: k, altAxis: k }
                    : Object.assign({ mainAxis: 0, altAxis: 0 }, k),
                L = t.modifiersData.offset
                  ? t.modifiersData.offset[t.placement]
                  : null,
                P = { x: 0, y: 0 }
              if (T) {
                if (c) {
                  var j,
                    F = 'y' === S ? s : a,
                    q = 'y' === S ? i : o,
                    $ = 'y' === S ? 'height' : 'width',
                    U = T[S],
                    H = U + v[F],
                    W = U - v[q],
                    z = b ? -O[$] / 2 : 0,
                    K = x === u ? N[$] : O[$],
                    Z = x === u ? -O[$] : -N[$],
                    V = t.elements.arrow,
                    Y = b && V ? B(V) : { width: 0, height: 0 },
                    J = t.modifiersData['arrow#persistent']
                      ? t.modifiersData['arrow#persistent'].padding
                      : { top: 0, right: 0, bottom: 0, left: 0 },
                    te = J[F],
                    ne = J[q],
                    re = Q(0, N[$], Y[$]),
                    se = A
                      ? N[$] / 2 - z - re - te - I.mainAxis
                      : K - re - te - I.mainAxis,
                    ie = A
                      ? -N[$] / 2 + z + re + ne + I.mainAxis
                      : Z + re + ne + I.mainAxis,
                    oe = t.elements.arrow && G(t.elements.arrow),
                    ae = oe
                      ? 'y' === S
                        ? oe.clientTop || 0
                        : oe.clientLeft || 0
                      : 0,
                    le = null != (j = null == L ? void 0 : L[S]) ? j : 0,
                    ce = U + ie - le,
                    ue = Q(b ? D(H, U + se - le - ae) : H, U, b ? M(W, ce) : W)
                  ;(T[S] = ue), (P[S] = ue - U)
                }
                if (p) {
                  var de,
                    pe = 'x' === S ? s : a,
                    he = 'x' === S ? i : o,
                    fe = T[C],
                    me = 'y' === C ? 'height' : 'width',
                    _e = fe + v[pe],
                    ge = fe - v[he],
                    ye = -1 !== [s, a].indexOf(E),
                    we = null != (de = null == L ? void 0 : L[C]) ? de : 0,
                    ve = ye ? _e : fe - N[me] - O[me] - we + I.altAxis,
                    Ee = ye ? fe + N[me] + O[me] - we - I.altAxis : ge,
                    xe =
                      b && ye
                        ? (function (e, t, n) {
                            var r = Q(e, t, n)
                            return r > n ? n : r
                          })(ve, fe, Ee)
                        : Q(b ? ve : _e, fe, b ? Ee : ge)
                  ;(T[C] = xe), (P[C] = xe - fe)
                }
                t.modifiersData[r] = P
              }
            },
            requiresIfExists: ['offset']
          }
        function Ce (e, t, n) {
          void 0 === n && (n = !1)
          var r,
            s,
            i = I(t),
            o =
              I(t) &&
              (function (e) {
                var t = e.getBoundingClientRect(),
                  n = j(t.width) / e.offsetWidth || 1,
                  r = j(t.height) / e.offsetHeight || 1
                return 1 !== n || 1 !== r
              })(t),
            a = z(t),
            l = $(e, o, n),
            c = { scrollLeft: 0, scrollTop: 0 },
            u = { x: 0, y: 0 }
          return (
            (i || (!i && !n)) &&
              (('body' !== N(t) || pe(a)) &&
                (c =
                  (r = t) !== O(r) && I(r)
                    ? { scrollLeft: (s = r).scrollLeft, scrollTop: s.scrollTop }
                    : ue(r)),
              I(t)
                ? (((u = $(t, !0)).x += t.clientLeft), (u.y += t.clientTop))
                : a && (u.x = de(a))),
            {
              x: l.left + c.scrollLeft - u.x,
              y: l.top + c.scrollTop - u.y,
              width: l.width,
              height: l.height
            }
          )
        }
        function Te (e) {
          var t = new Map(),
            n = new Set(),
            r = []
          function s (e) {
            n.add(e.name),
              []
                .concat(e.requires || [], e.requiresIfExists || [])
                .forEach(function (e) {
                  if (!n.has(e)) {
                    var r = t.get(e)
                    r && s(r)
                  }
                }),
              r.push(e)
          }
          return (
            e.forEach(function (e) {
              t.set(e.name, e)
            }),
            e.forEach(function (e) {
              n.has(e.name) || s(e)
            }),
            r
          )
        }
        var Ne = { placement: 'bottom', modifiers: [], strategy: 'absolute' }
        function Oe () {
          for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
            t[n] = arguments[n]
          return !t.some(function (e) {
            return !(e && 'function' == typeof e.getBoundingClientRect)
          })
        }
        function ke (e) {
          void 0 === e && (e = {})
          var t = e,
            n = t.defaultModifiers,
            r = void 0 === n ? [] : n,
            s = t.defaultOptions,
            i = void 0 === s ? Ne : s
          return function (e, t, n) {
            void 0 === n && (n = i)
            var s,
              o,
              a = {
                placement: 'bottom',
                orderedModifiers: [],
                options: Object.assign({}, Ne, i),
                modifiersData: {},
                elements: { reference: e, popper: t },
                attributes: {},
                styles: {}
              },
              l = [],
              c = !1,
              u = {
                state: a,
                setOptions: function (n) {
                  var s = 'function' == typeof n ? n(a.options) : n
                  d(),
                    (a.options = Object.assign({}, i, a.options, s)),
                    (a.scrollParents = {
                      reference: k(e)
                        ? fe(e)
                        : e.contextElement
                        ? fe(e.contextElement)
                        : [],
                      popper: fe(t)
                    })
                  var o,
                    c,
                    p = (function (e) {
                      var t = Te(e)
                      return T.reduce(function (e, n) {
                        return e.concat(
                          t.filter(function (e) {
                            return e.phase === n
                          })
                        )
                      }, [])
                    })(
                      ((o = [].concat(r, a.options.modifiers)),
                      (c = o.reduce(function (e, t) {
                        var n = e[t.name]
                        return (
                          (e[t.name] = n
                            ? Object.assign({}, n, t, {
                                options: Object.assign(
                                  {},
                                  n.options,
                                  t.options
                                ),
                                data: Object.assign({}, n.data, t.data)
                              })
                            : t),
                          e
                        )
                      }, {})),
                      Object.keys(c).map(function (e) {
                        return c[e]
                      }))
                    )
                  return (
                    (a.orderedModifiers = p.filter(function (e) {
                      return e.enabled
                    })),
                    a.orderedModifiers.forEach(function (e) {
                      var t = e.name,
                        n = e.options,
                        r = void 0 === n ? {} : n,
                        s = e.effect
                      if ('function' == typeof s) {
                        var i = s({
                          state: a,
                          name: t,
                          instance: u,
                          options: r
                        })
                        l.push(i || function () {})
                      }
                    }),
                    u.update()
                  )
                },
                forceUpdate: function () {
                  if (!c) {
                    var e = a.elements,
                      t = e.reference,
                      n = e.popper
                    if (Oe(t, n)) {
                      ;(a.rects = {
                        reference: Ce(t, G(n), 'fixed' === a.options.strategy),
                        popper: B(n)
                      }),
                        (a.reset = !1),
                        (a.placement = a.options.placement),
                        a.orderedModifiers.forEach(function (e) {
                          return (a.modifiersData[e.name] = Object.assign(
                            {},
                            e.data
                          ))
                        })
                      for (var r = 0; r < a.orderedModifiers.length; r++)
                        if (!0 !== a.reset) {
                          var s = a.orderedModifiers[r],
                            i = s.fn,
                            o = s.options,
                            l = void 0 === o ? {} : o,
                            d = s.name
                          'function' == typeof i &&
                            (a =
                              i({
                                state: a,
                                options: l,
                                name: d,
                                instance: u
                              }) || a)
                        } else (a.reset = !1), (r = -1)
                    }
                  }
                },
                update:
                  ((s = function () {
                    return new Promise(function (e) {
                      u.forceUpdate(), e(a)
                    })
                  }),
                  function () {
                    return (
                      o ||
                        (o = new Promise(function (e) {
                          Promise.resolve().then(function () {
                            ;(o = void 0), e(s())
                          })
                        })),
                      o
                    )
                  }),
                destroy: function () {
                  d(), (c = !0)
                }
              }
            if (!Oe(e, t)) return u
            function d () {
              l.forEach(function (e) {
                return e()
              }),
                (l = [])
            }
            return (
              u.setOptions(n).then(function (e) {
                !c && n.onFirstUpdate && n.onFirstUpdate(e)
              }),
              u
            )
          }
        }
        var Ie = ke(),
          Le = ke({ defaultModifiers: [ie, Ae, re, P, xe, ye, Se, J, Ee] }),
          Pe = ke({ defaultModifiers: [ie, Ae, re, P] })
        const Re = 'transitionend',
          Me = e => {
            let t = e.getAttribute('data-bs-target')
            if (!t || '#' === t) {
              let n = e.getAttribute('href')
              if (!n || (!n.includes('#') && !n.startsWith('.'))) return null
              n.includes('#') &&
                !n.startsWith('#') &&
                (n = `#${n.split('#')[1]}`),
                (t = n && '#' !== n ? n.trim() : null)
            }
            return t
          },
          De = e => {
            const t = Me(e)
            return t && document.querySelector(t) ? t : null
          },
          je = e => {
            const t = Me(e)
            return t ? document.querySelector(t) : null
          },
          Fe = e => {
            e.dispatchEvent(new Event(Re))
          },
          qe = e =>
            !(!e || 'object' != typeof e) &&
            (void 0 !== e.jquery && (e = e[0]), void 0 !== e.nodeType),
          $e = e =>
            qe(e)
              ? e.jquery
                ? e[0]
                : e
              : 'string' == typeof e && e.length > 0
              ? document.querySelector(e)
              : null,
          Be = e => {
            if (!qe(e) || 0 === e.getClientRects().length) return !1
            const t =
                'visible' ===
                getComputedStyle(e).getPropertyValue('visibility'),
              n = e.closest('details:not([open])')
            if (!n) return t
            if (n !== e) {
              const t = e.closest('summary')
              if (t && t.parentNode !== n) return !1
              if (null === t) return !1
            }
            return t
          },
          Ue = e =>
            !e ||
            e.nodeType !== Node.ELEMENT_NODE ||
            !!e.classList.contains('disabled') ||
            (void 0 !== e.disabled
              ? e.disabled
              : e.hasAttribute('disabled') &&
                'false' !== e.getAttribute('disabled')),
          He = e => {
            if (!document.documentElement.attachShadow) return null
            if ('function' == typeof e.getRootNode) {
              const t = e.getRootNode()
              return t instanceof ShadowRoot ? t : null
            }
            return e instanceof ShadowRoot
              ? e
              : e.parentNode
              ? He(e.parentNode)
              : null
          },
          We = () => {},
          ze = e => {
            e.offsetHeight
          },
          Ke = () =>
            window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')
              ? window.jQuery
              : null,
          Ze = [],
          Ge = () => 'rtl' === document.documentElement.dir,
          Xe = e => {
            var t
            ;(t = () => {
              const t = Ke()
              if (t) {
                const n = e.NAME,
                  r = t.fn[n]
                ;(t.fn[n] = e.jQueryInterface),
                  (t.fn[n].Constructor = e),
                  (t.fn[n].noConflict = () => (
                    (t.fn[n] = r), e.jQueryInterface
                  ))
              }
            }),
              'loading' === document.readyState
                ? (Ze.length ||
                    document.addEventListener('DOMContentLoaded', () => {
                      for (const e of Ze) e()
                    }),
                  Ze.push(t))
                : t()
          },
          Qe = e => {
            'function' == typeof e && e()
          },
          Ve = (e, t, n = !0) => {
            if (!n) return void Qe(e)
            const r =
              (e => {
                if (!e) return 0
                let {
                  transitionDuration: t,
                  transitionDelay: n
                } = window.getComputedStyle(e)
                const r = Number.parseFloat(t),
                  s = Number.parseFloat(n)
                return r || s
                  ? ((t = t.split(',')[0]),
                    (n = n.split(',')[0]),
                    1e3 * (Number.parseFloat(t) + Number.parseFloat(n)))
                  : 0
              })(t) + 5
            let s = !1
            const i = ({ target: n }) => {
              n === t && ((s = !0), t.removeEventListener(Re, i), Qe(e))
            }
            t.addEventListener(Re, i),
              setTimeout(() => {
                s || Fe(t)
              }, r)
          },
          Ye = (e, t, n, r) => {
            const s = e.length
            let i = e.indexOf(t)
            return -1 === i
              ? !n && r
                ? e[s - 1]
                : e[0]
              : ((i += n ? 1 : -1),
                r && (i = (i + s) % s),
                e[Math.max(0, Math.min(i, s - 1))])
          },
          Je = /[^.]*(?=\..*)\.|.*/,
          et = /\..*/,
          tt = /::\d+$/,
          nt = {}
        let rt = 1
        const st = { mouseenter: 'mouseover', mouseleave: 'mouseout' },
          it = new Set([
            'click',
            'dblclick',
            'mouseup',
            'mousedown',
            'contextmenu',
            'mousewheel',
            'DOMMouseScroll',
            'mouseover',
            'mouseout',
            'mousemove',
            'selectstart',
            'selectend',
            'keydown',
            'keypress',
            'keyup',
            'orientationchange',
            'touchstart',
            'touchmove',
            'touchend',
            'touchcancel',
            'pointerdown',
            'pointermove',
            'pointerup',
            'pointerleave',
            'pointercancel',
            'gesturestart',
            'gesturechange',
            'gestureend',
            'focus',
            'blur',
            'change',
            'reset',
            'select',
            'submit',
            'focusin',
            'focusout',
            'load',
            'unload',
            'beforeunload',
            'resize',
            'move',
            'DOMContentLoaded',
            'readystatechange',
            'error',
            'abort',
            'scroll'
          ])
        function ot (e, t) {
          return (t && `${t}::${rt++}`) || e.uidEvent || rt++
        }
        function at (e) {
          const t = ot(e)
          return (e.uidEvent = t), (nt[t] = nt[t] || {}), nt[t]
        }
        function lt (e, t, n = null) {
          return Object.values(e).find(
            e => e.callable === t && e.delegationSelector === n
          )
        }
        function ct (e, t, n) {
          const r = 'string' == typeof t,
            s = r ? n : t || n
          let i = ht(e)
          return it.has(i) || (i = e), [r, s, i]
        }
        function ut (e, t, n, r, s) {
          if ('string' != typeof t || !e) return
          let [i, o, a] = ct(t, n, r)
          if (t in st) {
            const e = e =>
              function (t) {
                if (
                  !t.relatedTarget ||
                  (t.relatedTarget !== t.delegateTarget &&
                    !t.delegateTarget.contains(t.relatedTarget))
                )
                  return e.call(this, t)
              }
            o = e(o)
          }
          const l = at(e),
            c = l[a] || (l[a] = {}),
            u = lt(c, o, i ? n : null)
          if (u) return void (u.oneOff = u.oneOff && s)
          const d = ot(o, t.replace(Je, '')),
            p = i
              ? (function (e, t, n) {
                  return function r (s) {
                    const i = e.querySelectorAll(t)
                    for (
                      let { target: o } = s;
                      o && o !== this;
                      o = o.parentNode
                    )
                      for (const a of i)
                        if (a === o)
                          return (
                            mt(s, { delegateTarget: o }),
                            r.oneOff && ft.off(e, s.type, t, n),
                            n.apply(o, [s])
                          )
                  }
                })(e, n, o)
              : (function (e, t) {
                  return function n (r) {
                    return (
                      mt(r, { delegateTarget: e }),
                      n.oneOff && ft.off(e, r.type, t),
                      t.apply(e, [r])
                    )
                  }
                })(e, o)
          ;(p.delegationSelector = i ? n : null),
            (p.callable = o),
            (p.oneOff = s),
            (p.uidEvent = d),
            (c[d] = p),
            e.addEventListener(a, p, i)
        }
        function dt (e, t, n, r, s) {
          const i = lt(t[n], r, s)
          i &&
            (e.removeEventListener(n, i, Boolean(s)), delete t[n][i.uidEvent])
        }
        function pt (e, t, n, r) {
          const s = t[n] || {}
          for (const i of Object.keys(s))
            if (i.includes(r)) {
              const r = s[i]
              dt(e, t, n, r.callable, r.delegationSelector)
            }
        }
        function ht (e) {
          return (e = e.replace(et, '')), st[e] || e
        }
        const ft = {
          on (e, t, n, r) {
            ut(e, t, n, r, !1)
          },
          one (e, t, n, r) {
            ut(e, t, n, r, !0)
          },
          off (e, t, n, r) {
            if ('string' != typeof t || !e) return
            const [s, i, o] = ct(t, n, r),
              a = o !== t,
              l = at(e),
              c = l[o] || {},
              u = t.startsWith('.')
            if (void 0 === i) {
              if (u) for (const n of Object.keys(l)) pt(e, l, n, t.slice(1))
              for (const n of Object.keys(c)) {
                const r = n.replace(tt, '')
                if (!a || t.includes(r)) {
                  const t = c[n]
                  dt(e, l, o, t.callable, t.delegationSelector)
                }
              }
            } else {
              if (!Object.keys(c).length) return
              dt(e, l, o, i, s ? n : null)
            }
          },
          trigger (e, t, n) {
            if ('string' != typeof t || !e) return null
            const r = Ke()
            let s = null,
              i = !0,
              o = !0,
              a = !1
            t !== ht(t) &&
              r &&
              ((s = r.Event(t, n)),
              r(e).trigger(s),
              (i = !s.isPropagationStopped()),
              (o = !s.isImmediatePropagationStopped()),
              (a = s.isDefaultPrevented()))
            let l = new Event(t, { bubbles: i, cancelable: !0 })
            return (
              (l = mt(l, n)),
              a && l.preventDefault(),
              o && e.dispatchEvent(l),
              l.defaultPrevented && s && s.preventDefault(),
              l
            )
          }
        }
        function mt (e, t) {
          for (const [n, r] of Object.entries(t || {}))
            try {
              e[n] = r
            } catch (t) {
              Object.defineProperty(e, n, { configurable: !0, get: () => r })
            }
          return e
        }
        const _t = new Map(),
          gt = {
            set (e, t, n) {
              _t.has(e) || _t.set(e, new Map())
              const r = _t.get(e)
              r.has(t) || 0 === r.size
                ? r.set(t, n)
                : console.error(
                    `Bootstrap doesn't allow more than one instance per element. Bound instance: ${
                      Array.from(r.keys())[0]
                    }.`
                  )
            },
            get: (e, t) => (_t.has(e) && _t.get(e).get(t)) || null,
            remove (e, t) {
              if (!_t.has(e)) return
              const n = _t.get(e)
              n.delete(t), 0 === n.size && _t.delete(e)
            }
          }
        function bt (e) {
          if ('true' === e) return !0
          if ('false' === e) return !1
          if (e === Number(e).toString()) return Number(e)
          if ('' === e || 'null' === e) return null
          if ('string' != typeof e) return e
          try {
            return JSON.parse(decodeURIComponent(e))
          } catch (t) {
            return e
          }
        }
        function yt (e) {
          return e.replace(/[A-Z]/g, e => `-${e.toLowerCase()}`)
        }
        const wt = {
          setDataAttribute (e, t, n) {
            e.setAttribute(`data-bs-${yt(t)}`, n)
          },
          removeDataAttribute (e, t) {
            e.removeAttribute(`data-bs-${yt(t)}`)
          },
          getDataAttributes (e) {
            if (!e) return {}
            const t = {},
              n = Object.keys(e.dataset).filter(
                e => e.startsWith('bs') && !e.startsWith('bsConfig')
              )
            for (const r of n) {
              let n = r.replace(/^bs/, '')
              ;(n = n.charAt(0).toLowerCase() + n.slice(1, n.length)),
                (t[n] = bt(e.dataset[r]))
            }
            return t
          },
          getDataAttribute: (e, t) => bt(e.getAttribute(`data-bs-${yt(t)}`))
        }
        class vt {
          static get Default () {
            return {}
          }
          static get DefaultType () {
            return {}
          }
          static get NAME () {
            throw new Error(
              'You have to implement the static method "NAME", for each component!'
            )
          }
          _getConfig (e) {
            return (
              (e = this._mergeConfigObj(e)),
              (e = this._configAfterMerge(e)),
              this._typeCheckConfig(e),
              e
            )
          }
          _configAfterMerge (e) {
            return e
          }
          _mergeConfigObj (e, t) {
            const n = qe(t) ? wt.getDataAttribute(t, 'config') : {}
            return {
              ...this.constructor.Default,
              ...('object' == typeof n ? n : {}),
              ...(qe(t) ? wt.getDataAttributes(t) : {}),
              ...('object' == typeof e ? e : {})
            }
          }
          _typeCheckConfig (e, t = this.constructor.DefaultType) {
            for (const r of Object.keys(t)) {
              const s = t[r],
                i = e[r],
                o = qe(i)
                  ? 'element'
                  : null == (n = i)
                  ? `${n}`
                  : Object.prototype.toString
                      .call(n)
                      .match(/\s([a-z]+)/i)[1]
                      .toLowerCase()
              if (!new RegExp(s).test(o))
                throw new TypeError(
                  `${this.constructor.NAME.toUpperCase()}: Option "${r}" provided type "${o}" but expected type "${s}".`
                )
            }
            var n
          }
        }
        class Et extends vt {
          constructor (e, t) {
            super(),
              (e = $e(e)) &&
                ((this._element = e),
                (this._config = this._getConfig(t)),
                gt.set(this._element, this.constructor.DATA_KEY, this))
          }
          dispose () {
            gt.remove(this._element, this.constructor.DATA_KEY),
              ft.off(this._element, this.constructor.EVENT_KEY)
            for (const e of Object.getOwnPropertyNames(this)) this[e] = null
          }
          _queueCallback (e, t, n = !0) {
            Ve(e, t, n)
          }
          _getConfig (e) {
            return (
              (e = this._mergeConfigObj(e, this._element)),
              (e = this._configAfterMerge(e)),
              this._typeCheckConfig(e),
              e
            )
          }
          static getInstance (e) {
            return gt.get($e(e), this.DATA_KEY)
          }
          static getOrCreateInstance (e, t = {}) {
            return (
              this.getInstance(e) ||
              new this(e, 'object' == typeof t ? t : null)
            )
          }
          static get VERSION () {
            return '5.2.2'
          }
          static get DATA_KEY () {
            return `bs.${this.NAME}`
          }
          static get EVENT_KEY () {
            return `.${this.DATA_KEY}`
          }
          static eventName (e) {
            return `${e}${this.EVENT_KEY}`
          }
        }
        const xt = (e, t = 'hide') => {
          const n = `click.dismiss${e.EVENT_KEY}`,
            r = e.NAME
          ft.on(document, n, `[data-bs-dismiss="${r}"]`, function (n) {
            if (
              (['A', 'AREA'].includes(this.tagName) && n.preventDefault(),
              Ue(this))
            )
              return
            const s = je(this) || this.closest(`.${r}`)
            e.getOrCreateInstance(s)[t]()
          })
        }
        class At extends Et {
          static get NAME () {
            return 'alert'
          }
          close () {
            if (ft.trigger(this._element, 'close.bs.alert').defaultPrevented)
              return
            this._element.classList.remove('show')
            const e = this._element.classList.contains('fade')
            this._queueCallback(() => this._destroyElement(), this._element, e)
          }
          _destroyElement () {
            this._element.remove(),
              ft.trigger(this._element, 'closed.bs.alert'),
              this.dispose()
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = At.getOrCreateInstance(this)
              if ('string' == typeof e) {
                if (void 0 === t[e] || e.startsWith('_') || 'constructor' === e)
                  throw new TypeError(`No method named "${e}"`)
                t[e](this)
              }
            })
          }
        }
        xt(At, 'close'), Xe(At)
        const St = '[data-bs-toggle="button"]'
        class Ct extends Et {
          static get NAME () {
            return 'button'
          }
          toggle () {
            this._element.setAttribute(
              'aria-pressed',
              this._element.classList.toggle('active')
            )
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = Ct.getOrCreateInstance(this)
              'toggle' === e && t[e]()
            })
          }
        }
        ft.on(document, 'click.bs.button.data-api', St, e => {
          e.preventDefault()
          const t = e.target.closest(St)
          Ct.getOrCreateInstance(t).toggle()
        }),
          Xe(Ct)
        const Tt = {
            find: (e, t = document.documentElement) =>
              [].concat(...Element.prototype.querySelectorAll.call(t, e)),
            findOne: (e, t = document.documentElement) =>
              Element.prototype.querySelector.call(t, e),
            children: (e, t) =>
              [].concat(...e.children).filter(e => e.matches(t)),
            parents (e, t) {
              const n = []
              let r = e.parentNode.closest(t)
              for (; r; ) n.push(r), (r = r.parentNode.closest(t))
              return n
            },
            prev (e, t) {
              let n = e.previousElementSibling
              for (; n; ) {
                if (n.matches(t)) return [n]
                n = n.previousElementSibling
              }
              return []
            },
            next (e, t) {
              let n = e.nextElementSibling
              for (; n; ) {
                if (n.matches(t)) return [n]
                n = n.nextElementSibling
              }
              return []
            },
            focusableChildren (e) {
              const t = [
                'a',
                'button',
                'input',
                'textarea',
                'select',
                'details',
                '[tabindex]',
                '[contenteditable="true"]'
              ]
                .map(e => `${e}:not([tabindex^="-"])`)
                .join(',')
              return this.find(t, e).filter(e => !Ue(e) && Be(e))
            }
          },
          Nt = { endCallback: null, leftCallback: null, rightCallback: null },
          Ot = {
            endCallback: '(function|null)',
            leftCallback: '(function|null)',
            rightCallback: '(function|null)'
          }
        class kt extends vt {
          constructor (e, t) {
            super(),
              (this._element = e),
              e &&
                kt.isSupported() &&
                ((this._config = this._getConfig(t)),
                (this._deltaX = 0),
                (this._supportPointerEvents = Boolean(window.PointerEvent)),
                this._initEvents())
          }
          static get Default () {
            return Nt
          }
          static get DefaultType () {
            return Ot
          }
          static get NAME () {
            return 'swipe'
          }
          dispose () {
            ft.off(this._element, '.bs.swipe')
          }
          _start (e) {
            this._supportPointerEvents
              ? this._eventIsPointerPenTouch(e) && (this._deltaX = e.clientX)
              : (this._deltaX = e.touches[0].clientX)
          }
          _end (e) {
            this._eventIsPointerPenTouch(e) &&
              (this._deltaX = e.clientX - this._deltaX),
              this._handleSwipe(),
              Qe(this._config.endCallback)
          }
          _move (e) {
            this._deltaX =
              e.touches && e.touches.length > 1
                ? 0
                : e.touches[0].clientX - this._deltaX
          }
          _handleSwipe () {
            const e = Math.abs(this._deltaX)
            if (e <= 40) return
            const t = e / this._deltaX
            ;(this._deltaX = 0),
              t &&
                Qe(
                  t > 0 ? this._config.rightCallback : this._config.leftCallback
                )
          }
          _initEvents () {
            this._supportPointerEvents
              ? (ft.on(this._element, 'pointerdown.bs.swipe', e =>
                  this._start(e)
                ),
                ft.on(this._element, 'pointerup.bs.swipe', e => this._end(e)),
                this._element.classList.add('pointer-event'))
              : (ft.on(this._element, 'touchstart.bs.swipe', e =>
                  this._start(e)
                ),
                ft.on(this._element, 'touchmove.bs.swipe', e => this._move(e)),
                ft.on(this._element, 'touchend.bs.swipe', e => this._end(e)))
          }
          _eventIsPointerPenTouch (e) {
            return (
              this._supportPointerEvents &&
              ('pen' === e.pointerType || 'touch' === e.pointerType)
            )
          }
          static isSupported () {
            return (
              'ontouchstart' in document.documentElement ||
              navigator.maxTouchPoints > 0
            )
          }
        }
        const It = 'next',
          Lt = 'prev',
          Pt = 'left',
          Rt = 'right',
          Mt = 'slid.bs.carousel',
          Dt = 'carousel',
          jt = 'active',
          Ft = { ArrowLeft: Rt, ArrowRight: Pt },
          qt = {
            interval: 5e3,
            keyboard: !0,
            pause: 'hover',
            ride: !1,
            touch: !0,
            wrap: !0
          },
          $t = {
            interval: '(number|boolean)',
            keyboard: 'boolean',
            pause: '(string|boolean)',
            ride: '(boolean|string)',
            touch: 'boolean',
            wrap: 'boolean'
          }
        class Bt extends Et {
          constructor (e, t) {
            super(e, t),
              (this._interval = null),
              (this._activeElement = null),
              (this._isSliding = !1),
              (this.touchTimeout = null),
              (this._swipeHelper = null),
              (this._indicatorsElement = Tt.findOne(
                '.carousel-indicators',
                this._element
              )),
              this._addEventListeners(),
              this._config.ride === Dt && this.cycle()
          }
          static get Default () {
            return qt
          }
          static get DefaultType () {
            return $t
          }
          static get NAME () {
            return 'carousel'
          }
          next () {
            this._slide(It)
          }
          nextWhenVisible () {
            !document.hidden && Be(this._element) && this.next()
          }
          prev () {
            this._slide(Lt)
          }
          pause () {
            this._isSliding && Fe(this._element), this._clearInterval()
          }
          cycle () {
            this._clearInterval(),
              this._updateInterval(),
              (this._interval = setInterval(
                () => this.nextWhenVisible(),
                this._config.interval
              ))
          }
          _maybeEnableCycle () {
            this._config.ride &&
              (this._isSliding
                ? ft.one(this._element, Mt, () => this.cycle())
                : this.cycle())
          }
          to (e) {
            const t = this._getItems()
            if (e > t.length - 1 || e < 0) return
            if (this._isSliding)
              return void ft.one(this._element, Mt, () => this.to(e))
            const n = this._getItemIndex(this._getActive())
            if (n === e) return
            const r = e > n ? It : Lt
            this._slide(r, t[e])
          }
          dispose () {
            this._swipeHelper && this._swipeHelper.dispose(), super.dispose()
          }
          _configAfterMerge (e) {
            return (e.defaultInterval = e.interval), e
          }
          _addEventListeners () {
            this._config.keyboard &&
              ft.on(this._element, 'keydown.bs.carousel', e =>
                this._keydown(e)
              ),
              'hover' === this._config.pause &&
                (ft.on(this._element, 'mouseenter.bs.carousel', () =>
                  this.pause()
                ),
                ft.on(this._element, 'mouseleave.bs.carousel', () =>
                  this._maybeEnableCycle()
                )),
              this._config.touch &&
                kt.isSupported() &&
                this._addTouchEventListeners()
          }
          _addTouchEventListeners () {
            for (const e of Tt.find('.carousel-item img', this._element))
              ft.on(e, 'dragstart.bs.carousel', e => e.preventDefault())
            const e = {
              leftCallback: () => this._slide(this._directionToOrder(Pt)),
              rightCallback: () => this._slide(this._directionToOrder(Rt)),
              endCallback: () => {
                'hover' === this._config.pause &&
                  (this.pause(),
                  this.touchTimeout && clearTimeout(this.touchTimeout),
                  (this.touchTimeout = setTimeout(
                    () => this._maybeEnableCycle(),
                    500 + this._config.interval
                  )))
              }
            }
            this._swipeHelper = new kt(this._element, e)
          }
          _keydown (e) {
            if (/input|textarea/i.test(e.target.tagName)) return
            const t = Ft[e.key]
            t && (e.preventDefault(), this._slide(this._directionToOrder(t)))
          }
          _getItemIndex (e) {
            return this._getItems().indexOf(e)
          }
          _setActiveIndicatorElement (e) {
            if (!this._indicatorsElement) return
            const t = Tt.findOne('.active', this._indicatorsElement)
            t.classList.remove(jt), t.removeAttribute('aria-current')
            const n = Tt.findOne(
              `[data-bs-slide-to="${e}"]`,
              this._indicatorsElement
            )
            n && (n.classList.add(jt), n.setAttribute('aria-current', 'true'))
          }
          _updateInterval () {
            const e = this._activeElement || this._getActive()
            if (!e) return
            const t = Number.parseInt(e.getAttribute('data-bs-interval'), 10)
            this._config.interval = t || this._config.defaultInterval
          }
          _slide (e, t = null) {
            if (this._isSliding) return
            const n = this._getActive(),
              r = e === It,
              s = t || Ye(this._getItems(), n, r, this._config.wrap)
            if (s === n) return
            const i = this._getItemIndex(s),
              o = t =>
                ft.trigger(this._element, t, {
                  relatedTarget: s,
                  direction: this._orderToDirection(e),
                  from: this._getItemIndex(n),
                  to: i
                })
            if (o('slide.bs.carousel').defaultPrevented) return
            if (!n || !s) return
            const a = Boolean(this._interval)
            this.pause(),
              (this._isSliding = !0),
              this._setActiveIndicatorElement(i),
              (this._activeElement = s)
            const l = r ? 'carousel-item-start' : 'carousel-item-end',
              c = r ? 'carousel-item-next' : 'carousel-item-prev'
            s.classList.add(c),
              ze(s),
              n.classList.add(l),
              s.classList.add(l),
              this._queueCallback(
                () => {
                  s.classList.remove(l, c),
                    s.classList.add(jt),
                    n.classList.remove(jt, c, l),
                    (this._isSliding = !1),
                    o(Mt)
                },
                n,
                this._isAnimated()
              ),
              a && this.cycle()
          }
          _isAnimated () {
            return this._element.classList.contains('slide')
          }
          _getActive () {
            return Tt.findOne('.active.carousel-item', this._element)
          }
          _getItems () {
            return Tt.find('.carousel-item', this._element)
          }
          _clearInterval () {
            this._interval &&
              (clearInterval(this._interval), (this._interval = null))
          }
          _directionToOrder (e) {
            return Ge() ? (e === Pt ? Lt : It) : e === Pt ? It : Lt
          }
          _orderToDirection (e) {
            return Ge() ? (e === Lt ? Pt : Rt) : e === Lt ? Rt : Pt
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = Bt.getOrCreateInstance(this, e)
              if ('number' != typeof e) {
                if ('string' == typeof e) {
                  if (
                    void 0 === t[e] ||
                    e.startsWith('_') ||
                    'constructor' === e
                  )
                    throw new TypeError(`No method named "${e}"`)
                  t[e]()
                }
              } else t.to(e)
            })
          }
        }
        ft.on(
          document,
          'click.bs.carousel.data-api',
          '[data-bs-slide], [data-bs-slide-to]',
          function (e) {
            const t = je(this)
            if (!t || !t.classList.contains(Dt)) return
            e.preventDefault()
            const n = Bt.getOrCreateInstance(t),
              r = this.getAttribute('data-bs-slide-to')
            return r
              ? (n.to(r), void n._maybeEnableCycle())
              : 'next' === wt.getDataAttribute(this, 'slide')
              ? (n.next(), void n._maybeEnableCycle())
              : (n.prev(), void n._maybeEnableCycle())
          }
        ),
          ft.on(window, 'load.bs.carousel.data-api', () => {
            const e = Tt.find('[data-bs-ride="carousel"]')
            for (const t of e) Bt.getOrCreateInstance(t)
          }),
          Xe(Bt)
        const Ut = 'show',
          Ht = 'collapse',
          Wt = 'collapsing',
          zt = '[data-bs-toggle="collapse"]',
          Kt = { parent: null, toggle: !0 },
          Zt = { parent: '(null|element)', toggle: 'boolean' }
        class Gt extends Et {
          constructor (e, t) {
            super(e, t), (this._isTransitioning = !1), (this._triggerArray = [])
            const n = Tt.find(zt)
            for (const e of n) {
              const t = De(e),
                n = Tt.find(t).filter(e => e === this._element)
              null !== t && n.length && this._triggerArray.push(e)
            }
            this._initializeChildren(),
              this._config.parent ||
                this._addAriaAndCollapsedClass(
                  this._triggerArray,
                  this._isShown()
                ),
              this._config.toggle && this.toggle()
          }
          static get Default () {
            return Kt
          }
          static get DefaultType () {
            return Zt
          }
          static get NAME () {
            return 'collapse'
          }
          toggle () {
            this._isShown() ? this.hide() : this.show()
          }
          show () {
            if (this._isTransitioning || this._isShown()) return
            let e = []
            if (
              (this._config.parent &&
                (e = this._getFirstLevelChildren(
                  '.collapse.show, .collapse.collapsing'
                )
                  .filter(e => e !== this._element)
                  .map(e => Gt.getOrCreateInstance(e, { toggle: !1 }))),
              e.length && e[0]._isTransitioning)
            )
              return
            if (ft.trigger(this._element, 'show.bs.collapse').defaultPrevented)
              return
            for (const t of e) t.hide()
            const t = this._getDimension()
            this._element.classList.remove(Ht),
              this._element.classList.add(Wt),
              (this._element.style[t] = 0),
              this._addAriaAndCollapsedClass(this._triggerArray, !0),
              (this._isTransitioning = !0)
            const n = `scroll${t[0].toUpperCase() + t.slice(1)}`
            this._queueCallback(
              () => {
                ;(this._isTransitioning = !1),
                  this._element.classList.remove(Wt),
                  this._element.classList.add(Ht, Ut),
                  (this._element.style[t] = ''),
                  ft.trigger(this._element, 'shown.bs.collapse')
              },
              this._element,
              !0
            ),
              (this._element.style[t] = `${this._element[n]}px`)
          }
          hide () {
            if (this._isTransitioning || !this._isShown()) return
            if (ft.trigger(this._element, 'hide.bs.collapse').defaultPrevented)
              return
            const e = this._getDimension()
            ;(this._element.style[e] = `${
              this._element.getBoundingClientRect()[e]
            }px`),
              ze(this._element),
              this._element.classList.add(Wt),
              this._element.classList.remove(Ht, Ut)
            for (const e of this._triggerArray) {
              const t = je(e)
              t && !this._isShown(t) && this._addAriaAndCollapsedClass([e], !1)
            }
            ;(this._isTransitioning = !0),
              (this._element.style[e] = ''),
              this._queueCallback(
                () => {
                  ;(this._isTransitioning = !1),
                    this._element.classList.remove(Wt),
                    this._element.classList.add(Ht),
                    ft.trigger(this._element, 'hidden.bs.collapse')
                },
                this._element,
                !0
              )
          }
          _isShown (e = this._element) {
            return e.classList.contains(Ut)
          }
          _configAfterMerge (e) {
            return (e.toggle = Boolean(e.toggle)), (e.parent = $e(e.parent)), e
          }
          _getDimension () {
            return this._element.classList.contains('collapse-horizontal')
              ? 'width'
              : 'height'
          }
          _initializeChildren () {
            if (!this._config.parent) return
            const e = this._getFirstLevelChildren(zt)
            for (const t of e) {
              const e = je(t)
              e && this._addAriaAndCollapsedClass([t], this._isShown(e))
            }
          }
          _getFirstLevelChildren (e) {
            const t = Tt.find(':scope .collapse .collapse', this._config.parent)
            return Tt.find(e, this._config.parent).filter(e => !t.includes(e))
          }
          _addAriaAndCollapsedClass (e, t) {
            if (e.length)
              for (const n of e)
                n.classList.toggle('collapsed', !t),
                  n.setAttribute('aria-expanded', t)
          }
          static jQueryInterface (e) {
            const t = {}
            return (
              'string' == typeof e && /show|hide/.test(e) && (t.toggle = !1),
              this.each(function () {
                const n = Gt.getOrCreateInstance(this, t)
                if ('string' == typeof e) {
                  if (void 0 === n[e])
                    throw new TypeError(`No method named "${e}"`)
                  n[e]()
                }
              })
            )
          }
        }
        ft.on(document, 'click.bs.collapse.data-api', zt, function (e) {
          ;('A' === e.target.tagName ||
            (e.delegateTarget && 'A' === e.delegateTarget.tagName)) &&
            e.preventDefault()
          const t = De(this),
            n = Tt.find(t)
          for (const e of n) Gt.getOrCreateInstance(e, { toggle: !1 }).toggle()
        }),
          Xe(Gt)
        const Xt = 'dropdown',
          Qt = 'ArrowUp',
          Vt = 'ArrowDown',
          Yt = 'click.bs.dropdown.data-api',
          Jt = 'keydown.bs.dropdown.data-api',
          en = 'show',
          tn = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
          nn = `${tn}.show`,
          rn = '.dropdown-menu',
          sn = Ge() ? 'top-end' : 'top-start',
          on = Ge() ? 'top-start' : 'top-end',
          an = Ge() ? 'bottom-end' : 'bottom-start',
          ln = Ge() ? 'bottom-start' : 'bottom-end',
          cn = Ge() ? 'left-start' : 'right-start',
          un = Ge() ? 'right-start' : 'left-start',
          dn = {
            autoClose: !0,
            boundary: 'clippingParents',
            display: 'dynamic',
            offset: [0, 2],
            popperConfig: null,
            reference: 'toggle'
          },
          pn = {
            autoClose: '(boolean|string)',
            boundary: '(string|element)',
            display: 'string',
            offset: '(array|string|function)',
            popperConfig: '(null|object|function)',
            reference: '(string|element|object)'
          }
        class hn extends Et {
          constructor (e, t) {
            super(e, t),
              (this._popper = null),
              (this._parent = this._element.parentNode),
              (this._menu =
                Tt.next(this._element, rn)[0] ||
                Tt.prev(this._element, rn)[0] ||
                Tt.findOne(rn, this._parent)),
              (this._inNavbar = this._detectNavbar())
          }
          static get Default () {
            return dn
          }
          static get DefaultType () {
            return pn
          }
          static get NAME () {
            return Xt
          }
          toggle () {
            return this._isShown() ? this.hide() : this.show()
          }
          show () {
            if (Ue(this._element) || this._isShown()) return
            const e = { relatedTarget: this._element }
            if (
              !ft.trigger(this._element, 'show.bs.dropdown', e).defaultPrevented
            ) {
              if (
                (this._createPopper(),
                'ontouchstart' in document.documentElement &&
                  !this._parent.closest('.navbar-nav'))
              )
                for (const e of [].concat(...document.body.children))
                  ft.on(e, 'mouseover', We)
              this._element.focus(),
                this._element.setAttribute('aria-expanded', !0),
                this._menu.classList.add(en),
                this._element.classList.add(en),
                ft.trigger(this._element, 'shown.bs.dropdown', e)
            }
          }
          hide () {
            if (Ue(this._element) || !this._isShown()) return
            const e = { relatedTarget: this._element }
            this._completeHide(e)
          }
          dispose () {
            this._popper && this._popper.destroy(), super.dispose()
          }
          update () {
            ;(this._inNavbar = this._detectNavbar()),
              this._popper && this._popper.update()
          }
          _completeHide (e) {
            if (
              !ft.trigger(this._element, 'hide.bs.dropdown', e).defaultPrevented
            ) {
              if ('ontouchstart' in document.documentElement)
                for (const e of [].concat(...document.body.children))
                  ft.off(e, 'mouseover', We)
              this._popper && this._popper.destroy(),
                this._menu.classList.remove(en),
                this._element.classList.remove(en),
                this._element.setAttribute('aria-expanded', 'false'),
                wt.removeDataAttribute(this._menu, 'popper'),
                ft.trigger(this._element, 'hidden.bs.dropdown', e)
            }
          }
          _getConfig (e) {
            if (
              'object' == typeof (e = super._getConfig(e)).reference &&
              !qe(e.reference) &&
              'function' != typeof e.reference.getBoundingClientRect
            )
              throw new TypeError(
                `${Xt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`
              )
            return e
          }
          _createPopper () {
            if (void 0 === r)
              throw new TypeError(
                "Bootstrap's dropdowns require Popper (https://popper.js.org)"
              )
            let e = this._element
            'parent' === this._config.reference
              ? (e = this._parent)
              : qe(this._config.reference)
              ? (e = $e(this._config.reference))
              : 'object' == typeof this._config.reference &&
                (e = this._config.reference)
            const t = this._getPopperConfig()
            this._popper = Le(e, this._menu, t)
          }
          _isShown () {
            return this._menu.classList.contains(en)
          }
          _getPlacement () {
            const e = this._parent
            if (e.classList.contains('dropend')) return cn
            if (e.classList.contains('dropstart')) return un
            if (e.classList.contains('dropup-center')) return 'top'
            if (e.classList.contains('dropdown-center')) return 'bottom'
            const t =
              'end' ===
              getComputedStyle(this._menu)
                .getPropertyValue('--bs-position')
                .trim()
            return e.classList.contains('dropup') ? (t ? on : sn) : t ? ln : an
          }
          _detectNavbar () {
            return null !== this._element.closest('.navbar')
          }
          _getOffset () {
            const { offset: e } = this._config
            return 'string' == typeof e
              ? e.split(',').map(e => Number.parseInt(e, 10))
              : 'function' == typeof e
              ? t => e(t, this._element)
              : e
          }
          _getPopperConfig () {
            const e = {
              placement: this._getPlacement(),
              modifiers: [
                {
                  name: 'preventOverflow',
                  options: { boundary: this._config.boundary }
                },
                { name: 'offset', options: { offset: this._getOffset() } }
              ]
            }
            return (
              (this._inNavbar || 'static' === this._config.display) &&
                (wt.setDataAttribute(this._menu, 'popper', 'static'),
                (e.modifiers = [{ name: 'applyStyles', enabled: !1 }])),
              {
                ...e,
                ...('function' == typeof this._config.popperConfig
                  ? this._config.popperConfig(e)
                  : this._config.popperConfig)
              }
            )
          }
          _selectMenuItem ({ key: e, target: t }) {
            const n = Tt.find(
              '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)',
              this._menu
            ).filter(e => Be(e))
            n.length && Ye(n, t, e === Vt, !n.includes(t)).focus()
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = hn.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e])
                  throw new TypeError(`No method named "${e}"`)
                t[e]()
              }
            })
          }
          static clearMenus (e) {
            if (2 === e.button || ('keyup' === e.type && 'Tab' !== e.key))
              return
            const t = Tt.find(nn)
            for (const n of t) {
              const t = hn.getInstance(n)
              if (!t || !1 === t._config.autoClose) continue
              const r = e.composedPath(),
                s = r.includes(t._menu)
              if (
                r.includes(t._element) ||
                ('inside' === t._config.autoClose && !s) ||
                ('outside' === t._config.autoClose && s)
              )
                continue
              if (
                t._menu.contains(e.target) &&
                (('keyup' === e.type && 'Tab' === e.key) ||
                  /input|select|option|textarea|form/i.test(e.target.tagName))
              )
                continue
              const i = { relatedTarget: t._element }
              'click' === e.type && (i.clickEvent = e), t._completeHide(i)
            }
          }
          static dataApiKeydownHandler (e) {
            const t = /input|textarea/i.test(e.target.tagName),
              n = 'Escape' === e.key,
              r = [Qt, Vt].includes(e.key)
            if (!r && !n) return
            if (t && !n) return
            e.preventDefault()
            const s = this.matches(tn)
                ? this
                : Tt.prev(this, tn)[0] ||
                  Tt.next(this, tn)[0] ||
                  Tt.findOne(tn, e.delegateTarget.parentNode),
              i = hn.getOrCreateInstance(s)
            if (r)
              return e.stopPropagation(), i.show(), void i._selectMenuItem(e)
            i._isShown() && (e.stopPropagation(), i.hide(), s.focus())
          }
        }
        ft.on(document, Jt, tn, hn.dataApiKeydownHandler),
          ft.on(document, Jt, rn, hn.dataApiKeydownHandler),
          ft.on(document, Yt, hn.clearMenus),
          ft.on(document, 'keyup.bs.dropdown.data-api', hn.clearMenus),
          ft.on(document, Yt, tn, function (e) {
            e.preventDefault(), hn.getOrCreateInstance(this).toggle()
          }),
          Xe(hn)
        const fn = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
          mn = '.sticky-top',
          _n = 'padding-right',
          gn = 'margin-right'
        class bn {
          constructor () {
            this._element = document.body
          }
          getWidth () {
            const e = document.documentElement.clientWidth
            return Math.abs(window.innerWidth - e)
          }
          hide () {
            const e = this.getWidth()
            this._disableOverFlow(),
              this._setElementAttributes(this._element, _n, t => t + e),
              this._setElementAttributes(fn, _n, t => t + e),
              this._setElementAttributes(mn, gn, t => t - e)
          }
          reset () {
            this._resetElementAttributes(this._element, 'overflow'),
              this._resetElementAttributes(this._element, _n),
              this._resetElementAttributes(fn, _n),
              this._resetElementAttributes(mn, gn)
          }
          isOverflowing () {
            return this.getWidth() > 0
          }
          _disableOverFlow () {
            this._saveInitialAttribute(this._element, 'overflow'),
              (this._element.style.overflow = 'hidden')
          }
          _setElementAttributes (e, t, n) {
            const r = this.getWidth()
            this._applyManipulationCallback(e, e => {
              if (e !== this._element && window.innerWidth > e.clientWidth + r)
                return
              this._saveInitialAttribute(e, t)
              const s = window.getComputedStyle(e).getPropertyValue(t)
              e.style.setProperty(t, `${n(Number.parseFloat(s))}px`)
            })
          }
          _saveInitialAttribute (e, t) {
            const n = e.style.getPropertyValue(t)
            n && wt.setDataAttribute(e, t, n)
          }
          _resetElementAttributes (e, t) {
            this._applyManipulationCallback(e, e => {
              const n = wt.getDataAttribute(e, t)
              null !== n
                ? (wt.removeDataAttribute(e, t), e.style.setProperty(t, n))
                : e.style.removeProperty(t)
            })
          }
          _applyManipulationCallback (e, t) {
            if (qe(e)) t(e)
            else for (const n of Tt.find(e, this._element)) t(n)
          }
        }
        const yn = 'show',
          wn = 'mousedown.bs.backdrop',
          vn = {
            className: 'modal-backdrop',
            clickCallback: null,
            isAnimated: !1,
            isVisible: !0,
            rootElement: 'body'
          },
          En = {
            className: 'string',
            clickCallback: '(function|null)',
            isAnimated: 'boolean',
            isVisible: 'boolean',
            rootElement: '(element|string)'
          }
        class xn extends vt {
          constructor (e) {
            super(),
              (this._config = this._getConfig(e)),
              (this._isAppended = !1),
              (this._element = null)
          }
          static get Default () {
            return vn
          }
          static get DefaultType () {
            return En
          }
          static get NAME () {
            return 'backdrop'
          }
          show (e) {
            if (!this._config.isVisible) return void Qe(e)
            this._append()
            const t = this._getElement()
            this._config.isAnimated && ze(t),
              t.classList.add(yn),
              this._emulateAnimation(() => {
                Qe(e)
              })
          }
          hide (e) {
            this._config.isVisible
              ? (this._getElement().classList.remove(yn),
                this._emulateAnimation(() => {
                  this.dispose(), Qe(e)
                }))
              : Qe(e)
          }
          dispose () {
            this._isAppended &&
              (ft.off(this._element, wn),
              this._element.remove(),
              (this._isAppended = !1))
          }
          _getElement () {
            if (!this._element) {
              const e = document.createElement('div')
              ;(e.className = this._config.className),
                this._config.isAnimated && e.classList.add('fade'),
                (this._element = e)
            }
            return this._element
          }
          _configAfterMerge (e) {
            return (e.rootElement = $e(e.rootElement)), e
          }
          _append () {
            if (this._isAppended) return
            const e = this._getElement()
            this._config.rootElement.append(e),
              ft.on(e, wn, () => {
                Qe(this._config.clickCallback)
              }),
              (this._isAppended = !0)
          }
          _emulateAnimation (e) {
            Ve(e, this._getElement(), this._config.isAnimated)
          }
        }
        const An = '.bs.focustrap',
          Sn = 'backward',
          Cn = { autofocus: !0, trapElement: null },
          Tn = { autofocus: 'boolean', trapElement: 'element' }
        class Nn extends vt {
          constructor (e) {
            super(),
              (this._config = this._getConfig(e)),
              (this._isActive = !1),
              (this._lastTabNavDirection = null)
          }
          static get Default () {
            return Cn
          }
          static get DefaultType () {
            return Tn
          }
          static get NAME () {
            return 'focustrap'
          }
          activate () {
            this._isActive ||
              (this._config.autofocus && this._config.trapElement.focus(),
              ft.off(document, An),
              ft.on(document, 'focusin.bs.focustrap', e =>
                this._handleFocusin(e)
              ),
              ft.on(document, 'keydown.tab.bs.focustrap', e =>
                this._handleKeydown(e)
              ),
              (this._isActive = !0))
          }
          deactivate () {
            this._isActive && ((this._isActive = !1), ft.off(document, An))
          }
          _handleFocusin (e) {
            const { trapElement: t } = this._config
            if (e.target === document || e.target === t || t.contains(e.target))
              return
            const n = Tt.focusableChildren(t)
            0 === n.length
              ? t.focus()
              : this._lastTabNavDirection === Sn
              ? n[n.length - 1].focus()
              : n[0].focus()
          }
          _handleKeydown (e) {
            'Tab' === e.key &&
              (this._lastTabNavDirection = e.shiftKey ? Sn : 'forward')
          }
        }
        const On = 'hidden.bs.modal',
          kn = 'show.bs.modal',
          In = 'modal-open',
          Ln = 'show',
          Pn = 'modal-static',
          Rn = { backdrop: !0, focus: !0, keyboard: !0 },
          Mn = {
            backdrop: '(boolean|string)',
            focus: 'boolean',
            keyboard: 'boolean'
          }
        class Dn extends Et {
          constructor (e, t) {
            super(e, t),
              (this._dialog = Tt.findOne('.modal-dialog', this._element)),
              (this._backdrop = this._initializeBackDrop()),
              (this._focustrap = this._initializeFocusTrap()),
              (this._isShown = !1),
              (this._isTransitioning = !1),
              (this._scrollBar = new bn()),
              this._addEventListeners()
          }
          static get Default () {
            return Rn
          }
          static get DefaultType () {
            return Mn
          }
          static get NAME () {
            return 'modal'
          }
          toggle (e) {
            return this._isShown ? this.hide() : this.show(e)
          }
          show (e) {
            this._isShown ||
              this._isTransitioning ||
              ft.trigger(this._element, kn, { relatedTarget: e })
                .defaultPrevented ||
              ((this._isShown = !0),
              (this._isTransitioning = !0),
              this._scrollBar.hide(),
              document.body.classList.add(In),
              this._adjustDialog(),
              this._backdrop.show(() => this._showElement(e)))
          }
          hide () {
            this._isShown &&
              !this._isTransitioning &&
              (ft.trigger(this._element, 'hide.bs.modal').defaultPrevented ||
                ((this._isShown = !1),
                (this._isTransitioning = !0),
                this._focustrap.deactivate(),
                this._element.classList.remove(Ln),
                this._queueCallback(
                  () => this._hideModal(),
                  this._element,
                  this._isAnimated()
                )))
          }
          dispose () {
            for (const e of [window, this._dialog]) ft.off(e, '.bs.modal')
            this._backdrop.dispose(),
              this._focustrap.deactivate(),
              super.dispose()
          }
          handleUpdate () {
            this._adjustDialog()
          }
          _initializeBackDrop () {
            return new xn({
              isVisible: Boolean(this._config.backdrop),
              isAnimated: this._isAnimated()
            })
          }
          _initializeFocusTrap () {
            return new Nn({ trapElement: this._element })
          }
          _showElement (e) {
            document.body.contains(this._element) ||
              document.body.append(this._element),
              (this._element.style.display = 'block'),
              this._element.removeAttribute('aria-hidden'),
              this._element.setAttribute('aria-modal', !0),
              this._element.setAttribute('role', 'dialog'),
              (this._element.scrollTop = 0)
            const t = Tt.findOne('.modal-body', this._dialog)
            t && (t.scrollTop = 0),
              ze(this._element),
              this._element.classList.add(Ln),
              this._queueCallback(
                () => {
                  this._config.focus && this._focustrap.activate(),
                    (this._isTransitioning = !1),
                    ft.trigger(this._element, 'shown.bs.modal', {
                      relatedTarget: e
                    })
                },
                this._dialog,
                this._isAnimated()
              )
          }
          _addEventListeners () {
            ft.on(this._element, 'keydown.dismiss.bs.modal', e => {
              if ('Escape' === e.key)
                return this._config.keyboard
                  ? (e.preventDefault(), void this.hide())
                  : void this._triggerBackdropTransition()
            }),
              ft.on(window, 'resize.bs.modal', () => {
                this._isShown && !this._isTransitioning && this._adjustDialog()
              }),
              ft.on(this._element, 'mousedown.dismiss.bs.modal', e => {
                ft.one(this._element, 'click.dismiss.bs.modal', t => {
                  this._element === e.target &&
                    this._element === t.target &&
                    ('static' !== this._config.backdrop
                      ? this._config.backdrop && this.hide()
                      : this._triggerBackdropTransition())
                })
              })
          }
          _hideModal () {
            ;(this._element.style.display = 'none'),
              this._element.setAttribute('aria-hidden', !0),
              this._element.removeAttribute('aria-modal'),
              this._element.removeAttribute('role'),
              (this._isTransitioning = !1),
              this._backdrop.hide(() => {
                document.body.classList.remove(In),
                  this._resetAdjustments(),
                  this._scrollBar.reset(),
                  ft.trigger(this._element, On)
              })
          }
          _isAnimated () {
            return this._element.classList.contains('fade')
          }
          _triggerBackdropTransition () {
            if (
              ft.trigger(this._element, 'hidePrevented.bs.modal')
                .defaultPrevented
            )
              return
            const e =
                this._element.scrollHeight >
                document.documentElement.clientHeight,
              t = this._element.style.overflowY
            'hidden' === t ||
              this._element.classList.contains(Pn) ||
              (e || (this._element.style.overflowY = 'hidden'),
              this._element.classList.add(Pn),
              this._queueCallback(() => {
                this._element.classList.remove(Pn),
                  this._queueCallback(() => {
                    this._element.style.overflowY = t
                  }, this._dialog)
              }, this._dialog),
              this._element.focus())
          }
          _adjustDialog () {
            const e =
                this._element.scrollHeight >
                document.documentElement.clientHeight,
              t = this._scrollBar.getWidth(),
              n = t > 0
            if (n && !e) {
              const e = Ge() ? 'paddingLeft' : 'paddingRight'
              this._element.style[e] = `${t}px`
            }
            if (!n && e) {
              const e = Ge() ? 'paddingRight' : 'paddingLeft'
              this._element.style[e] = `${t}px`
            }
          }
          _resetAdjustments () {
            ;(this._element.style.paddingLeft = ''),
              (this._element.style.paddingRight = '')
          }
          static jQueryInterface (e, t) {
            return this.each(function () {
              const n = Dn.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === n[e])
                  throw new TypeError(`No method named "${e}"`)
                n[e](t)
              }
            })
          }
        }
        ft.on(
          document,
          'click.bs.modal.data-api',
          '[data-bs-toggle="modal"]',
          function (e) {
            const t = je(this)
            ;['A', 'AREA'].includes(this.tagName) && e.preventDefault(),
              ft.one(t, kn, e => {
                e.defaultPrevented ||
                  ft.one(t, On, () => {
                    Be(this) && this.focus()
                  })
              })
            const n = Tt.findOne('.modal.show')
            n && Dn.getInstance(n).hide(),
              Dn.getOrCreateInstance(t).toggle(this)
          }
        ),
          xt(Dn),
          Xe(Dn)
        const jn = 'show',
          Fn = 'showing',
          qn = 'hiding',
          $n = '.offcanvas.show',
          Bn = 'hidePrevented.bs.offcanvas',
          Un = 'hidden.bs.offcanvas',
          Hn = { backdrop: !0, keyboard: !0, scroll: !1 },
          Wn = {
            backdrop: '(boolean|string)',
            keyboard: 'boolean',
            scroll: 'boolean'
          }
        class zn extends Et {
          constructor (e, t) {
            super(e, t),
              (this._isShown = !1),
              (this._backdrop = this._initializeBackDrop()),
              (this._focustrap = this._initializeFocusTrap()),
              this._addEventListeners()
          }
          static get Default () {
            return Hn
          }
          static get DefaultType () {
            return Wn
          }
          static get NAME () {
            return 'offcanvas'
          }
          toggle (e) {
            return this._isShown ? this.hide() : this.show(e)
          }
          show (e) {
            this._isShown ||
              ft.trigger(this._element, 'show.bs.offcanvas', {
                relatedTarget: e
              }).defaultPrevented ||
              ((this._isShown = !0),
              this._backdrop.show(),
              this._config.scroll || new bn().hide(),
              this._element.setAttribute('aria-modal', !0),
              this._element.setAttribute('role', 'dialog'),
              this._element.classList.add(Fn),
              this._queueCallback(
                () => {
                  ;(this._config.scroll && !this._config.backdrop) ||
                    this._focustrap.activate(),
                    this._element.classList.add(jn),
                    this._element.classList.remove(Fn),
                    ft.trigger(this._element, 'shown.bs.offcanvas', {
                      relatedTarget: e
                    })
                },
                this._element,
                !0
              ))
          }
          hide () {
            this._isShown &&
              (ft.trigger(this._element, 'hide.bs.offcanvas')
                .defaultPrevented ||
                (this._focustrap.deactivate(),
                this._element.blur(),
                (this._isShown = !1),
                this._element.classList.add(qn),
                this._backdrop.hide(),
                this._queueCallback(
                  () => {
                    this._element.classList.remove(jn, qn),
                      this._element.removeAttribute('aria-modal'),
                      this._element.removeAttribute('role'),
                      this._config.scroll || new bn().reset(),
                      ft.trigger(this._element, Un)
                  },
                  this._element,
                  !0
                )))
          }
          dispose () {
            this._backdrop.dispose(),
              this._focustrap.deactivate(),
              super.dispose()
          }
          _initializeBackDrop () {
            const e = Boolean(this._config.backdrop)
            return new xn({
              className: 'offcanvas-backdrop',
              isVisible: e,
              isAnimated: !0,
              rootElement: this._element.parentNode,
              clickCallback: e
                ? () => {
                    'static' !== this._config.backdrop
                      ? this.hide()
                      : ft.trigger(this._element, Bn)
                  }
                : null
            })
          }
          _initializeFocusTrap () {
            return new Nn({ trapElement: this._element })
          }
          _addEventListeners () {
            ft.on(this._element, 'keydown.dismiss.bs.offcanvas', e => {
              'Escape' === e.key &&
                (this._config.keyboard
                  ? this.hide()
                  : ft.trigger(this._element, Bn))
            })
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = zn.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e] || e.startsWith('_') || 'constructor' === e)
                  throw new TypeError(`No method named "${e}"`)
                t[e](this)
              }
            })
          }
        }
        ft.on(
          document,
          'click.bs.offcanvas.data-api',
          '[data-bs-toggle="offcanvas"]',
          function (e) {
            const t = je(this)
            if (
              (['A', 'AREA'].includes(this.tagName) && e.preventDefault(),
              Ue(this))
            )
              return
            ft.one(t, Un, () => {
              Be(this) && this.focus()
            })
            const n = Tt.findOne($n)
            n && n !== t && zn.getInstance(n).hide(),
              zn.getOrCreateInstance(t).toggle(this)
          }
        ),
          ft.on(window, 'load.bs.offcanvas.data-api', () => {
            for (const e of Tt.find($n)) zn.getOrCreateInstance(e).show()
          }),
          ft.on(window, 'resize.bs.offcanvas', () => {
            for (const e of Tt.find(
              '[aria-modal][class*=show][class*=offcanvas-]'
            ))
              'fixed' !== getComputedStyle(e).position &&
                zn.getOrCreateInstance(e).hide()
          }),
          xt(zn),
          Xe(zn)
        const Kn = new Set([
            'background',
            'cite',
            'href',
            'itemtype',
            'longdesc',
            'poster',
            'src',
            'xlink:href'
          ]),
          Zn = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,
          Gn = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,
          Xn = (e, t) => {
            const n = e.nodeName.toLowerCase()
            return t.includes(n)
              ? !Kn.has(n) ||
                  Boolean(Zn.test(e.nodeValue) || Gn.test(e.nodeValue))
              : t.filter(e => e instanceof RegExp).some(e => e.test(n))
          },
          Qn = {
            '*': ['class', 'dir', 'id', 'lang', 'role', /^aria-[\w-]*$/i],
            a: ['target', 'href', 'title', 'rel'],
            area: [],
            b: [],
            br: [],
            col: [],
            code: [],
            div: [],
            em: [],
            hr: [],
            h1: [],
            h2: [],
            h3: [],
            h4: [],
            h5: [],
            h6: [],
            i: [],
            img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
            li: [],
            ol: [],
            p: [],
            pre: [],
            s: [],
            small: [],
            span: [],
            sub: [],
            sup: [],
            strong: [],
            u: [],
            ul: []
          },
          Vn = {
            allowList: Qn,
            content: {},
            extraClass: '',
            html: !1,
            sanitize: !0,
            sanitizeFn: null,
            template: '<div></div>'
          },
          Yn = {
            allowList: 'object',
            content: 'object',
            extraClass: '(string|function)',
            html: 'boolean',
            sanitize: 'boolean',
            sanitizeFn: '(null|function)',
            template: 'string'
          },
          Jn = {
            entry: '(string|element|function|null)',
            selector: '(string|element)'
          }
        class er extends vt {
          constructor (e) {
            super(), (this._config = this._getConfig(e))
          }
          static get Default () {
            return Vn
          }
          static get DefaultType () {
            return Yn
          }
          static get NAME () {
            return 'TemplateFactory'
          }
          getContent () {
            return Object.values(this._config.content)
              .map(e => this._resolvePossibleFunction(e))
              .filter(Boolean)
          }
          hasContent () {
            return this.getContent().length > 0
          }
          changeContent (e) {
            return (
              this._checkContent(e),
              (this._config.content = { ...this._config.content, ...e }),
              this
            )
          }
          toHtml () {
            const e = document.createElement('div')
            e.innerHTML = this._maybeSanitize(this._config.template)
            for (const [t, n] of Object.entries(this._config.content))
              this._setContent(e, n, t)
            const t = e.children[0],
              n = this._resolvePossibleFunction(this._config.extraClass)
            return n && t.classList.add(...n.split(' ')), t
          }
          _typeCheckConfig (e) {
            super._typeCheckConfig(e), this._checkContent(e.content)
          }
          _checkContent (e) {
            for (const [t, n] of Object.entries(e))
              super._typeCheckConfig({ selector: t, entry: n }, Jn)
          }
          _setContent (e, t, n) {
            const r = Tt.findOne(n, e)
            r &&
              ((t = this._resolvePossibleFunction(t))
                ? qe(t)
                  ? this._putElementInTemplate($e(t), r)
                  : this._config.html
                  ? (r.innerHTML = this._maybeSanitize(t))
                  : (r.textContent = t)
                : r.remove())
          }
          _maybeSanitize (e) {
            return this._config.sanitize
              ? (function (e, t, n) {
                  if (!e.length) return e
                  if (n && 'function' == typeof n) return n(e)
                  const r = new window.DOMParser().parseFromString(
                      e,
                      'text/html'
                    ),
                    s = [].concat(...r.body.querySelectorAll('*'))
                  for (const e of s) {
                    const n = e.nodeName.toLowerCase()
                    if (!Object.keys(t).includes(n)) {
                      e.remove()
                      continue
                    }
                    const r = [].concat(...e.attributes),
                      s = [].concat(t['*'] || [], t[n] || [])
                    for (const t of r) Xn(t, s) || e.removeAttribute(t.nodeName)
                  }
                  return r.body.innerHTML
                })(e, this._config.allowList, this._config.sanitizeFn)
              : e
          }
          _resolvePossibleFunction (e) {
            return 'function' == typeof e ? e(this) : e
          }
          _putElementInTemplate (e, t) {
            if (this._config.html) return (t.innerHTML = ''), void t.append(e)
            t.textContent = e.textContent
          }
        }
        const tr = new Set(['sanitize', 'allowList', 'sanitizeFn']),
          nr = 'fade',
          rr = 'show',
          sr = '.modal',
          ir = 'hide.bs.modal',
          or = 'hover',
          ar = 'focus',
          lr = {
            AUTO: 'auto',
            TOP: 'top',
            RIGHT: Ge() ? 'left' : 'right',
            BOTTOM: 'bottom',
            LEFT: Ge() ? 'right' : 'left'
          },
          cr = {
            allowList: Qn,
            animation: !0,
            boundary: 'clippingParents',
            container: !1,
            customClass: '',
            delay: 0,
            fallbackPlacements: ['top', 'right', 'bottom', 'left'],
            html: !1,
            offset: [0, 0],
            placement: 'top',
            popperConfig: null,
            sanitize: !0,
            sanitizeFn: null,
            selector: !1,
            template:
              '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
            title: '',
            trigger: 'hover focus'
          },
          ur = {
            allowList: 'object',
            animation: 'boolean',
            boundary: '(string|element)',
            container: '(string|element|boolean)',
            customClass: '(string|function)',
            delay: '(number|object)',
            fallbackPlacements: 'array',
            html: 'boolean',
            offset: '(array|string|function)',
            placement: '(string|function)',
            popperConfig: '(null|object|function)',
            sanitize: 'boolean',
            sanitizeFn: '(null|function)',
            selector: '(string|boolean)',
            template: 'string',
            title: '(string|element|function)',
            trigger: 'string'
          }
        class dr extends Et {
          constructor (e, t) {
            if (void 0 === r)
              throw new TypeError(
                "Bootstrap's tooltips require Popper (https://popper.js.org)"
              )
            super(e, t),
              (this._isEnabled = !0),
              (this._timeout = 0),
              (this._isHovered = null),
              (this._activeTrigger = {}),
              (this._popper = null),
              (this._templateFactory = null),
              (this._newContent = null),
              (this.tip = null),
              this._setListeners(),
              this._config.selector || this._fixTitle()
          }
          static get Default () {
            return cr
          }
          static get DefaultType () {
            return ur
          }
          static get NAME () {
            return 'tooltip'
          }
          enable () {
            this._isEnabled = !0
          }
          disable () {
            this._isEnabled = !1
          }
          toggleEnabled () {
            this._isEnabled = !this._isEnabled
          }
          toggle () {
            this._isEnabled &&
              ((this._activeTrigger.click = !this._activeTrigger.click),
              this._isShown() ? this._leave() : this._enter())
          }
          dispose () {
            clearTimeout(this._timeout),
              ft.off(this._element.closest(sr), ir, this._hideModalHandler),
              this.tip && this.tip.remove(),
              this._element.getAttribute('data-bs-original-title') &&
                this._element.setAttribute(
                  'title',
                  this._element.getAttribute('data-bs-original-title')
                ),
              this._disposePopper(),
              super.dispose()
          }
          show () {
            if ('none' === this._element.style.display)
              throw new Error('Please use show on visible elements')
            if (!this._isWithContent() || !this._isEnabled) return
            const e = ft.trigger(
                this._element,
                this.constructor.eventName('show')
              ),
              t = (
                He(this._element) || this._element.ownerDocument.documentElement
              ).contains(this._element)
            if (e.defaultPrevented || !t) return
            this.tip && (this.tip.remove(), (this.tip = null))
            const n = this._getTipElement()
            this._element.setAttribute('aria-describedby', n.getAttribute('id'))
            const { container: r } = this._config
            if (
              (this._element.ownerDocument.documentElement.contains(this.tip) ||
                (r.append(n),
                ft.trigger(
                  this._element,
                  this.constructor.eventName('inserted')
                )),
              this._popper
                ? this._popper.update()
                : (this._popper = this._createPopper(n)),
              n.classList.add(rr),
              'ontouchstart' in document.documentElement)
            )
              for (const e of [].concat(...document.body.children))
                ft.on(e, 'mouseover', We)
            this._queueCallback(
              () => {
                ft.trigger(this._element, this.constructor.eventName('shown')),
                  !1 === this._isHovered && this._leave(),
                  (this._isHovered = !1)
              },
              this.tip,
              this._isAnimated()
            )
          }
          hide () {
            if (!this._isShown()) return
            if (
              ft.trigger(this._element, this.constructor.eventName('hide'))
                .defaultPrevented
            )
              return
            const e = this._getTipElement()
            if (
              (e.classList.remove(rr),
              'ontouchstart' in document.documentElement)
            )
              for (const e of [].concat(...document.body.children))
                ft.off(e, 'mouseover', We)
            ;(this._activeTrigger.click = !1),
              (this._activeTrigger.focus = !1),
              (this._activeTrigger.hover = !1),
              (this._isHovered = null),
              this._queueCallback(
                () => {
                  this._isWithActiveTrigger() ||
                    (this._isHovered || e.remove(),
                    this._element.removeAttribute('aria-describedby'),
                    ft.trigger(
                      this._element,
                      this.constructor.eventName('hidden')
                    ),
                    this._disposePopper())
                },
                this.tip,
                this._isAnimated()
              )
          }
          update () {
            this._popper && this._popper.update()
          }
          _isWithContent () {
            return Boolean(this._getTitle())
          }
          _getTipElement () {
            return (
              this.tip ||
                (this.tip = this._createTipElement(
                  this._newContent || this._getContentForTemplate()
                )),
              this.tip
            )
          }
          _createTipElement (e) {
            const t = this._getTemplateFactory(e).toHtml()
            if (!t) return null
            t.classList.remove(nr, rr),
              t.classList.add(`bs-${this.constructor.NAME}-auto`)
            const n = (e => {
              do {
                e += Math.floor(1e6 * Math.random())
              } while (document.getElementById(e))
              return e
            })(this.constructor.NAME).toString()
            return (
              t.setAttribute('id', n),
              this._isAnimated() && t.classList.add(nr),
              t
            )
          }
          setContent (e) {
            ;(this._newContent = e),
              this._isShown() && (this._disposePopper(), this.show())
          }
          _getTemplateFactory (e) {
            return (
              this._templateFactory
                ? this._templateFactory.changeContent(e)
                : (this._templateFactory = new er({
                    ...this._config,
                    content: e,
                    extraClass: this._resolvePossibleFunction(
                      this._config.customClass
                    )
                  })),
              this._templateFactory
            )
          }
          _getContentForTemplate () {
            return { '.tooltip-inner': this._getTitle() }
          }
          _getTitle () {
            return (
              this._resolvePossibleFunction(this._config.title) ||
              this._element.getAttribute('data-bs-original-title')
            )
          }
          _initializeOnDelegatedTarget (e) {
            return this.constructor.getOrCreateInstance(
              e.delegateTarget,
              this._getDelegateConfig()
            )
          }
          _isAnimated () {
            return (
              this._config.animation ||
              (this.tip && this.tip.classList.contains(nr))
            )
          }
          _isShown () {
            return this.tip && this.tip.classList.contains(rr)
          }
          _createPopper (e) {
            const t =
                'function' == typeof this._config.placement
                  ? this._config.placement.call(this, e, this._element)
                  : this._config.placement,
              n = lr[t.toUpperCase()]
            return Le(this._element, e, this._getPopperConfig(n))
          }
          _getOffset () {
            const { offset: e } = this._config
            return 'string' == typeof e
              ? e.split(',').map(e => Number.parseInt(e, 10))
              : 'function' == typeof e
              ? t => e(t, this._element)
              : e
          }
          _resolvePossibleFunction (e) {
            return 'function' == typeof e ? e.call(this._element) : e
          }
          _getPopperConfig (e) {
            const t = {
              placement: e,
              modifiers: [
                {
                  name: 'flip',
                  options: {
                    fallbackPlacements: this._config.fallbackPlacements
                  }
                },
                { name: 'offset', options: { offset: this._getOffset() } },
                {
                  name: 'preventOverflow',
                  options: { boundary: this._config.boundary }
                },
                {
                  name: 'arrow',
                  options: { element: `.${this.constructor.NAME}-arrow` }
                },
                {
                  name: 'preSetPlacement',
                  enabled: !0,
                  phase: 'beforeMain',
                  fn: e => {
                    this._getTipElement().setAttribute(
                      'data-popper-placement',
                      e.state.placement
                    )
                  }
                }
              ]
            }
            return {
              ...t,
              ...('function' == typeof this._config.popperConfig
                ? this._config.popperConfig(t)
                : this._config.popperConfig)
            }
          }
          _setListeners () {
            const e = this._config.trigger.split(' ')
            for (const t of e)
              if ('click' === t)
                ft.on(
                  this._element,
                  this.constructor.eventName('click'),
                  this._config.selector,
                  e => {
                    this._initializeOnDelegatedTarget(e).toggle()
                  }
                )
              else if ('manual' !== t) {
                const e =
                    t === or
                      ? this.constructor.eventName('mouseenter')
                      : this.constructor.eventName('focusin'),
                  n =
                    t === or
                      ? this.constructor.eventName('mouseleave')
                      : this.constructor.eventName('focusout')
                ft.on(this._element, e, this._config.selector, e => {
                  const t = this._initializeOnDelegatedTarget(e)
                  ;(t._activeTrigger['focusin' === e.type ? ar : or] = !0),
                    t._enter()
                }),
                  ft.on(this._element, n, this._config.selector, e => {
                    const t = this._initializeOnDelegatedTarget(e)
                    ;(t._activeTrigger[
                      'focusout' === e.type ? ar : or
                    ] = t._element.contains(e.relatedTarget)),
                      t._leave()
                  })
              }
            ;(this._hideModalHandler = () => {
              this._element && this.hide()
            }),
              ft.on(this._element.closest(sr), ir, this._hideModalHandler)
          }
          _fixTitle () {
            const e = this._element.getAttribute('title')
            e &&
              (this._element.getAttribute('aria-label') ||
                this._element.textContent.trim() ||
                this._element.setAttribute('aria-label', e),
              this._element.setAttribute('data-bs-original-title', e),
              this._element.removeAttribute('title'))
          }
          _enter () {
            this._isShown() || this._isHovered
              ? (this._isHovered = !0)
              : ((this._isHovered = !0),
                this._setTimeout(() => {
                  this._isHovered && this.show()
                }, this._config.delay.show))
          }
          _leave () {
            this._isWithActiveTrigger() ||
              ((this._isHovered = !1),
              this._setTimeout(() => {
                this._isHovered || this.hide()
              }, this._config.delay.hide))
          }
          _setTimeout (e, t) {
            clearTimeout(this._timeout), (this._timeout = setTimeout(e, t))
          }
          _isWithActiveTrigger () {
            return Object.values(this._activeTrigger).includes(!0)
          }
          _getConfig (e) {
            const t = wt.getDataAttributes(this._element)
            for (const e of Object.keys(t)) tr.has(e) && delete t[e]
            return (
              (e = { ...t, ...('object' == typeof e && e ? e : {}) }),
              (e = this._mergeConfigObj(e)),
              (e = this._configAfterMerge(e)),
              this._typeCheckConfig(e),
              e
            )
          }
          _configAfterMerge (e) {
            return (
              (e.container =
                !1 === e.container ? document.body : $e(e.container)),
              'number' == typeof e.delay &&
                (e.delay = { show: e.delay, hide: e.delay }),
              'number' == typeof e.title && (e.title = e.title.toString()),
              'number' == typeof e.content &&
                (e.content = e.content.toString()),
              e
            )
          }
          _getDelegateConfig () {
            const e = {}
            for (const t in this._config)
              this.constructor.Default[t] !== this._config[t] &&
                (e[t] = this._config[t])
            return (e.selector = !1), (e.trigger = 'manual'), e
          }
          _disposePopper () {
            this._popper && (this._popper.destroy(), (this._popper = null))
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = dr.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e])
                  throw new TypeError(`No method named "${e}"`)
                t[e]()
              }
            })
          }
        }
        Xe(dr)
        const pr = {
            ...dr.Default,
            content: '',
            offset: [0, 8],
            placement: 'right',
            template:
              '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
            trigger: 'click'
          },
          hr = { ...dr.DefaultType, content: '(null|string|element|function)' }
        class fr extends dr {
          static get Default () {
            return pr
          }
          static get DefaultType () {
            return hr
          }
          static get NAME () {
            return 'popover'
          }
          _isWithContent () {
            return this._getTitle() || this._getContent()
          }
          _getContentForTemplate () {
            return {
              '.popover-header': this._getTitle(),
              '.popover-body': this._getContent()
            }
          }
          _getContent () {
            return this._resolvePossibleFunction(this._config.content)
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = fr.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e])
                  throw new TypeError(`No method named "${e}"`)
                t[e]()
              }
            })
          }
        }
        Xe(fr)
        const mr = 'click.bs.scrollspy',
          _r = 'active',
          gr = '[href]',
          br = {
            offset: null,
            rootMargin: '0px 0px -25%',
            smoothScroll: !1,
            target: null,
            threshold: [0.1, 0.5, 1]
          },
          yr = {
            offset: '(number|null)',
            rootMargin: 'string',
            smoothScroll: 'boolean',
            target: 'element',
            threshold: 'array'
          }
        class wr extends Et {
          constructor (e, t) {
            super(e, t),
              (this._targetLinks = new Map()),
              (this._observableSections = new Map()),
              (this._rootElement =
                'visible' === getComputedStyle(this._element).overflowY
                  ? null
                  : this._element),
              (this._activeTarget = null),
              (this._observer = null),
              (this._previousScrollData = {
                visibleEntryTop: 0,
                parentScrollTop: 0
              }),
              this.refresh()
          }
          static get Default () {
            return br
          }
          static get DefaultType () {
            return yr
          }
          static get NAME () {
            return 'scrollspy'
          }
          refresh () {
            this._initializeTargetsAndObservables(),
              this._maybeEnableSmoothScroll(),
              this._observer
                ? this._observer.disconnect()
                : (this._observer = this._getNewObserver())
            for (const e of this._observableSections.values())
              this._observer.observe(e)
          }
          dispose () {
            this._observer.disconnect(), super.dispose()
          }
          _configAfterMerge (e) {
            return (
              (e.target = $e(e.target) || document.body),
              (e.rootMargin = e.offset
                ? `${e.offset}px 0px -30%`
                : e.rootMargin),
              'string' == typeof e.threshold &&
                (e.threshold = e.threshold
                  .split(',')
                  .map(e => Number.parseFloat(e))),
              e
            )
          }
          _maybeEnableSmoothScroll () {
            this._config.smoothScroll &&
              (ft.off(this._config.target, mr),
              ft.on(this._config.target, mr, gr, e => {
                const t = this._observableSections.get(e.target.hash)
                if (t) {
                  e.preventDefault()
                  const n = this._rootElement || window,
                    r = t.offsetTop - this._element.offsetTop
                  if (n.scrollTo)
                    return void n.scrollTo({ top: r, behavior: 'smooth' })
                  n.scrollTop = r
                }
              }))
          }
          _getNewObserver () {
            const e = {
              root: this._rootElement,
              threshold: this._config.threshold,
              rootMargin: this._config.rootMargin
            }
            return new IntersectionObserver(e => this._observerCallback(e), e)
          }
          _observerCallback (e) {
            const t = e => this._targetLinks.get(`#${e.target.id}`),
              n = e => {
                ;(this._previousScrollData.visibleEntryTop =
                  e.target.offsetTop),
                  this._process(t(e))
              },
              r = (this._rootElement || document.documentElement).scrollTop,
              s = r >= this._previousScrollData.parentScrollTop
            this._previousScrollData.parentScrollTop = r
            for (const i of e) {
              if (!i.isIntersecting) {
                ;(this._activeTarget = null), this._clearActiveClass(t(i))
                continue
              }
              const e =
                i.target.offsetTop >= this._previousScrollData.visibleEntryTop
              if (s && e) {
                if ((n(i), !r)) return
              } else s || e || n(i)
            }
          }
          _initializeTargetsAndObservables () {
            ;(this._targetLinks = new Map()),
              (this._observableSections = new Map())
            const e = Tt.find(gr, this._config.target)
            for (const t of e) {
              if (!t.hash || Ue(t)) continue
              const e = Tt.findOne(t.hash, this._element)
              Be(e) &&
                (this._targetLinks.set(t.hash, t),
                this._observableSections.set(t.hash, e))
            }
          }
          _process (e) {
            this._activeTarget !== e &&
              (this._clearActiveClass(this._config.target),
              (this._activeTarget = e),
              e.classList.add(_r),
              this._activateParents(e),
              ft.trigger(this._element, 'activate.bs.scrollspy', {
                relatedTarget: e
              }))
          }
          _activateParents (e) {
            if (e.classList.contains('dropdown-item'))
              Tt.findOne(
                '.dropdown-toggle',
                e.closest('.dropdown')
              ).classList.add(_r)
            else
              for (const t of Tt.parents(e, '.nav, .list-group'))
                for (const e of Tt.prev(
                  t,
                  '.nav-link, .nav-item > .nav-link, .list-group-item'
                ))
                  e.classList.add(_r)
          }
          _clearActiveClass (e) {
            e.classList.remove(_r)
            const t = Tt.find('[href].active', e)
            for (const e of t) e.classList.remove(_r)
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = wr.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e] || e.startsWith('_') || 'constructor' === e)
                  throw new TypeError(`No method named "${e}"`)
                t[e]()
              }
            })
          }
        }
        ft.on(window, 'load.bs.scrollspy.data-api', () => {
          for (const e of Tt.find('[data-bs-spy="scroll"]'))
            wr.getOrCreateInstance(e)
        }),
          Xe(wr)
        const vr = 'ArrowLeft',
          Er = 'ArrowRight',
          xr = 'ArrowUp',
          Ar = 'ArrowDown',
          Sr = 'active',
          Cr = 'fade',
          Tr = 'show',
          Nr =
            '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
          Or = `.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Nr}`
        class kr extends Et {
          constructor (e) {
            super(e),
              (this._parent = this._element.closest(
                '.list-group, .nav, [role="tablist"]'
              )),
              this._parent &&
                (this._setInitialAttributes(this._parent, this._getChildren()),
                ft.on(this._element, 'keydown.bs.tab', e => this._keydown(e)))
          }
          static get NAME () {
            return 'tab'
          }
          show () {
            const e = this._element
            if (this._elemIsActive(e)) return
            const t = this._getActiveElem(),
              n = t ? ft.trigger(t, 'hide.bs.tab', { relatedTarget: e }) : null
            ft.trigger(e, 'show.bs.tab', { relatedTarget: t })
              .defaultPrevented ||
              (n && n.defaultPrevented) ||
              (this._deactivate(t, e), this._activate(e, t))
          }
          _activate (e, t) {
            e &&
              (e.classList.add(Sr),
              this._activate(je(e)),
              this._queueCallback(
                () => {
                  'tab' === e.getAttribute('role')
                    ? (e.removeAttribute('tabindex'),
                      e.setAttribute('aria-selected', !0),
                      this._toggleDropDown(e, !0),
                      ft.trigger(e, 'shown.bs.tab', { relatedTarget: t }))
                    : e.classList.add(Tr)
                },
                e,
                e.classList.contains(Cr)
              ))
          }
          _deactivate (e, t) {
            e &&
              (e.classList.remove(Sr),
              e.blur(),
              this._deactivate(je(e)),
              this._queueCallback(
                () => {
                  'tab' === e.getAttribute('role')
                    ? (e.setAttribute('aria-selected', !1),
                      e.setAttribute('tabindex', '-1'),
                      this._toggleDropDown(e, !1),
                      ft.trigger(e, 'hidden.bs.tab', { relatedTarget: t }))
                    : e.classList.remove(Tr)
                },
                e,
                e.classList.contains(Cr)
              ))
          }
          _keydown (e) {
            if (![vr, Er, xr, Ar].includes(e.key)) return
            e.stopPropagation(), e.preventDefault()
            const t = [Er, Ar].includes(e.key),
              n = Ye(
                this._getChildren().filter(e => !Ue(e)),
                e.target,
                t,
                !0
              )
            n &&
              (n.focus({ preventScroll: !0 }), kr.getOrCreateInstance(n).show())
          }
          _getChildren () {
            return Tt.find(Or, this._parent)
          }
          _getActiveElem () {
            return this._getChildren().find(e => this._elemIsActive(e)) || null
          }
          _setInitialAttributes (e, t) {
            this._setAttributeIfNotExists(e, 'role', 'tablist')
            for (const e of t) this._setInitialAttributesOnChild(e)
          }
          _setInitialAttributesOnChild (e) {
            e = this._getInnerElement(e)
            const t = this._elemIsActive(e),
              n = this._getOuterElement(e)
            e.setAttribute('aria-selected', t),
              n !== e &&
                this._setAttributeIfNotExists(n, 'role', 'presentation'),
              t || e.setAttribute('tabindex', '-1'),
              this._setAttributeIfNotExists(e, 'role', 'tab'),
              this._setInitialAttributesOnTargetPanel(e)
          }
          _setInitialAttributesOnTargetPanel (e) {
            const t = je(e)
            t &&
              (this._setAttributeIfNotExists(t, 'role', 'tabpanel'),
              e.id &&
                this._setAttributeIfNotExists(t, 'aria-labelledby', `#${e.id}`))
          }
          _toggleDropDown (e, t) {
            const n = this._getOuterElement(e)
            if (!n.classList.contains('dropdown')) return
            const r = (e, r) => {
              const s = Tt.findOne(e, n)
              s && s.classList.toggle(r, t)
            }
            r('.dropdown-toggle', Sr),
              r('.dropdown-menu', Tr),
              n.setAttribute('aria-expanded', t)
          }
          _setAttributeIfNotExists (e, t, n) {
            e.hasAttribute(t) || e.setAttribute(t, n)
          }
          _elemIsActive (e) {
            return e.classList.contains(Sr)
          }
          _getInnerElement (e) {
            return e.matches(Or) ? e : Tt.findOne(Or, e)
          }
          _getOuterElement (e) {
            return e.closest('.nav-item, .list-group-item') || e
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = kr.getOrCreateInstance(this)
              if ('string' == typeof e) {
                if (void 0 === t[e] || e.startsWith('_') || 'constructor' === e)
                  throw new TypeError(`No method named "${e}"`)
                t[e]()
              }
            })
          }
        }
        ft.on(document, 'click.bs.tab', Nr, function (e) {
          ;['A', 'AREA'].includes(this.tagName) && e.preventDefault(),
            Ue(this) || kr.getOrCreateInstance(this).show()
        }),
          ft.on(window, 'load.bs.tab', () => {
            for (const e of Tt.find(
              '.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'
            ))
              kr.getOrCreateInstance(e)
          }),
          Xe(kr)
        const Ir = 'hide',
          Lr = 'show',
          Pr = 'showing',
          Rr = { animation: 'boolean', autohide: 'boolean', delay: 'number' },
          Mr = { animation: !0, autohide: !0, delay: 5e3 }
        class Dr extends Et {
          constructor (e, t) {
            super(e, t),
              (this._timeout = null),
              (this._hasMouseInteraction = !1),
              (this._hasKeyboardInteraction = !1),
              this._setListeners()
          }
          static get Default () {
            return Mr
          }
          static get DefaultType () {
            return Rr
          }
          static get NAME () {
            return 'toast'
          }
          show () {
            ft.trigger(this._element, 'show.bs.toast').defaultPrevented ||
              (this._clearTimeout(),
              this._config.animation && this._element.classList.add('fade'),
              this._element.classList.remove(Ir),
              ze(this._element),
              this._element.classList.add(Lr, Pr),
              this._queueCallback(
                () => {
                  this._element.classList.remove(Pr),
                    ft.trigger(this._element, 'shown.bs.toast'),
                    this._maybeScheduleHide()
                },
                this._element,
                this._config.animation
              ))
          }
          hide () {
            this.isShown() &&
              (ft.trigger(this._element, 'hide.bs.toast').defaultPrevented ||
                (this._element.classList.add(Pr),
                this._queueCallback(
                  () => {
                    this._element.classList.add(Ir),
                      this._element.classList.remove(Pr, Lr),
                      ft.trigger(this._element, 'hidden.bs.toast')
                  },
                  this._element,
                  this._config.animation
                )))
          }
          dispose () {
            this._clearTimeout(),
              this.isShown() && this._element.classList.remove(Lr),
              super.dispose()
          }
          isShown () {
            return this._element.classList.contains(Lr)
          }
          _maybeScheduleHide () {
            this._config.autohide &&
              (this._hasMouseInteraction ||
                this._hasKeyboardInteraction ||
                (this._timeout = setTimeout(() => {
                  this.hide()
                }, this._config.delay)))
          }
          _onInteraction (e, t) {
            switch (e.type) {
              case 'mouseover':
              case 'mouseout':
                this._hasMouseInteraction = t
                break
              case 'focusin':
              case 'focusout':
                this._hasKeyboardInteraction = t
            }
            if (t) return void this._clearTimeout()
            const n = e.relatedTarget
            this._element === n ||
              this._element.contains(n) ||
              this._maybeScheduleHide()
          }
          _setListeners () {
            ft.on(this._element, 'mouseover.bs.toast', e =>
              this._onInteraction(e, !0)
            ),
              ft.on(this._element, 'mouseout.bs.toast', e =>
                this._onInteraction(e, !1)
              ),
              ft.on(this._element, 'focusin.bs.toast', e =>
                this._onInteraction(e, !0)
              ),
              ft.on(this._element, 'focusout.bs.toast', e =>
                this._onInteraction(e, !1)
              )
          }
          _clearTimeout () {
            clearTimeout(this._timeout), (this._timeout = null)
          }
          static jQueryInterface (e) {
            return this.each(function () {
              const t = Dr.getOrCreateInstance(this, e)
              if ('string' == typeof e) {
                if (void 0 === t[e])
                  throw new TypeError(`No method named "${e}"`)
                t[e](this)
              }
            })
          }
        }
        xt(Dr), Xe(Dr)
      },
      8843: (e, t, n) => {
        'use strict'
        n.d(t, { qY: () => p })
        var r = function (e, t, n) {
            if (n || 2 === arguments.length)
              for (var r, s = 0, i = t.length; s < i; s++)
                (!r && s in t) ||
                  (r || (r = Array.prototype.slice.call(t, 0, s)),
                  (r[s] = t[s]))
            return e.concat(r || Array.prototype.slice.call(t))
          },
          s = function (e, t, n) {
            ;(this.name = e),
              (this.version = t),
              (this.os = n),
              (this.type = 'browser')
          },
          i = function (e) {
            ;(this.version = e),
              (this.type = 'node'),
              (this.name = 'node'),
              (this.os = process.platform)
          },
          o = function (e, t, n, r) {
            ;(this.name = e),
              (this.version = t),
              (this.os = n),
              (this.bot = r),
              (this.type = 'bot-device')
          },
          a = function () {
            ;(this.type = 'bot'),
              (this.bot = !0),
              (this.name = 'bot'),
              (this.version = null),
              (this.os = null)
          },
          l = function () {
            ;(this.type = 'react-native'),
              (this.name = 'react-native'),
              (this.version = null),
              (this.os = null)
          },
          c = /(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,
          u = [
            ['aol', /AOLShield\/([0-9\._]+)/],
            ['edge', /Edge\/([0-9\._]+)/],
            ['edge-ios', /EdgiOS\/([0-9\._]+)/],
            ['yandexbrowser', /YaBrowser\/([0-9\._]+)/],
            ['kakaotalk', /KAKAOTALK\s([0-9\.]+)/],
            ['samsung', /SamsungBrowser\/([0-9\.]+)/],
            ['silk', /\bSilk\/([0-9._-]+)\b/],
            ['miui', /MiuiBrowser\/([0-9\.]+)$/],
            ['beaker', /BeakerBrowser\/([0-9\.]+)/],
            ['edge-chromium', /EdgA?\/([0-9\.]+)/],
            [
              'chromium-webview',
              /(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/
            ],
            ['chrome', /(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],
            ['phantomjs', /PhantomJS\/([0-9\.]+)(:?\s|$)/],
            ['crios', /CriOS\/([0-9\.]+)(:?\s|$)/],
            ['firefox', /Firefox\/([0-9\.]+)(?:\s|$)/],
            ['fxios', /FxiOS\/([0-9\.]+)/],
            ['opera-mini', /Opera Mini.*Version\/([0-9\.]+)/],
            ['opera', /Opera\/([0-9\.]+)(?:\s|$)/],
            ['opera', /OPR\/([0-9\.]+)(:?\s|$)/],
            ['pie', /^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],
            [
              'pie',
              /^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/
            ],
            ['netfront', /^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],
            ['ie', /Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],
            ['ie', /MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],
            ['ie', /MSIE\s(7\.0)/],
            ['bb10', /BB10;\sTouch.*Version\/([0-9\.]+)/],
            ['android', /Android\s([0-9\.]+)/],
            ['ios', /Version\/([0-9\._]+).*Mobile.*Safari.*/],
            ['safari', /Version\/([0-9\._]+).*Safari/],
            ['facebook', /FB[AS]V\/([0-9\.]+)/],
            ['instagram', /Instagram\s([0-9\.]+)/],
            ['ios-webview', /AppleWebKit\/([0-9\.]+).*Mobile/],
            ['ios-webview', /AppleWebKit\/([0-9\.]+).*Gecko\)$/],
            ['curl', /^curl\/([0-9\.]+)$/],
            [
              'searchbot',
              /alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/
            ]
          ],
          d = [
            ['iOS', /iP(hone|od|ad)/],
            ['Android OS', /Android/],
            ['BlackBerry OS', /BlackBerry|BB10/],
            ['Windows Mobile', /IEMobile/],
            ['Amazon OS', /Kindle/],
            ['Windows 3.11', /Win16/],
            ['Windows 95', /(Windows 95)|(Win95)|(Windows_95)/],
            ['Windows 98', /(Windows 98)|(Win98)/],
            ['Windows 2000', /(Windows NT 5.0)|(Windows 2000)/],
            ['Windows XP', /(Windows NT 5.1)|(Windows XP)/],
            ['Windows Server 2003', /(Windows NT 5.2)/],
            ['Windows Vista', /(Windows NT 6.0)/],
            ['Windows 7', /(Windows NT 6.1)/],
            ['Windows 8', /(Windows NT 6.2)/],
            ['Windows 8.1', /(Windows NT 6.3)/],
            ['Windows 10', /(Windows NT 10.0)/],
            ['Windows ME', /Windows ME/],
            [
              'Windows CE',
              /Windows CE|WinCE|Microsoft Pocket Internet Explorer/
            ],
            ['Open BSD', /OpenBSD/],
            ['Sun OS', /SunOS/],
            ['Chrome OS', /CrOS/],
            ['Linux', /(Linux)|(X11)/],
            ['Mac OS', /(Mac_PowerPC)|(Macintosh)/],
            ['QNX', /QNX/],
            ['BeOS', /BeOS/],
            ['OS/2', /OS\/2/]
          ]
        function p (e) {
          return e
            ? h(e)
            : 'undefined' == typeof document &&
              'undefined' != typeof navigator &&
              'ReactNative' === navigator.product
            ? new l()
            : 'undefined' != typeof navigator
            ? h(navigator.userAgent)
            : 'undefined' != typeof process && process.version
            ? new i(process.version.slice(1))
            : null
        }
        function h (e) {
          var t = (function (e) {
            return (
              '' !== e &&
              u.reduce(function (t, n) {
                var r = n[0],
                  s = n[1]
                if (t) return t
                var i = s.exec(e)
                return !!i && [r, i]
              }, !1)
            )
          })(e)
          if (!t) return null
          var n = t[0],
            i = t[1]
          if ('searchbot' === n) return new a()
          var l =
            i[1] &&
            i[1]
              .split('.')
              .join('_')
              .split('_')
              .slice(0, 3)
          l
            ? l.length < 3 &&
              (l = r(
                r([], l, !0),
                (function (e) {
                  for (var t = [], n = 0; n < e; n++) t.push('0')
                  return t
                })(3 - l.length),
                !0
              ))
            : (l = [])
          var p = l.join('.'),
            h = (function (e) {
              for (var t = 0, n = d.length; t < n; t++) {
                var r = d[t],
                  s = r[0]
                if (r[1].exec(e)) return s
              }
              return null
            })(e),
            f = c.exec(e)
          return f && f[1] ? new o(n, p, h, f[1]) : new s(n, p, h)
        }
      },
      3571: e => {
        'use strict'
        const t = {},
          n = t.hasOwnProperty,
          r = (e, t) => {
            for (const r in e) n.call(e, r) && t(r, e[r])
          },
          s = e => '\\u' + ('0000' + e).slice(-4),
          i = (e, t) => {
            let n = e.toString(16)
            return t ? n : n.toUpperCase()
          },
          o = t.toString,
          a = Array.isArray,
          l = {
            '\\': '\\\\',
            '\b': '\\b',
            '\f': '\\f',
            '\n': '\\n',
            '\r': '\\r',
            '\t': '\\t'
          },
          c = /[\\\b\f\n\r\t]/,
          u = /[0-9]/,
          d = /[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,
          p = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,
          h = /([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,
          f = (e, t) => {
            const n = () => {
                ;(x = E), ++t.indentLevel, (E = t.indent.repeat(t.indentLevel))
              },
              m = {
                escapeEverything: !1,
                minimal: !1,
                isScriptContext: !1,
                quotes: 'single',
                wrap: !1,
                es6: !1,
                json: !1,
                compact: !0,
                lowercaseHex: !1,
                numbers: 'decimal',
                indent: '\t',
                indentLevel: 0,
                __inline1__: !1,
                __inline2__: !1
              },
              _ = t && t.json
            var g, b
            _ && ((m.quotes = 'double'), (m.wrap = !0)),
              (g = m),
              (t = (b = t)
                ? (r(b, (e, t) => {
                    g[e] = t
                  }),
                  g)
                : g),
              'single' != t.quotes &&
                'double' != t.quotes &&
                'backtick' != t.quotes &&
                (t.quotes = 'single')
            const y =
                'double' == t.quotes ? '"' : 'backtick' == t.quotes ? '`' : "'",
              w = t.compact,
              v = t.lowercaseHex
            let E = t.indent.repeat(t.indentLevel),
              x = ''
            const A = t.__inline1__,
              S = t.__inline2__,
              C = w ? '' : '\n'
            let T,
              N = !0
            const O = 'binary' == t.numbers,
              k = 'octal' == t.numbers,
              I = 'decimal' == t.numbers,
              L = 'hexadecimal' == t.numbers
            if (
              (_ && e && 'function' == typeof e.toJSON && (e = e.toJSON()),
              'string' != typeof (P = e) && '[object String]' != o.call(P))
            ) {
              if ((e => '[object Map]' == o.call(e))(e))
                return 0 == e.size
                  ? 'new Map()'
                  : (w || ((t.__inline1__ = !0), (t.__inline2__ = !1)),
                    'new Map(' + f(Array.from(e), t) + ')')
              if ((e => '[object Set]' == o.call(e))(e))
                return 0 == e.size
                  ? 'new Set()'
                  : 'new Set(' + f(Array.from(e), t) + ')'
              if ((e => 'function' == typeof Buffer && Buffer.isBuffer(e))(e))
                return 0 == e.length
                  ? 'Buffer.from([])'
                  : 'Buffer.from(' + f(Array.from(e), t) + ')'
              if (a(e))
                return (
                  (T = []),
                  (t.wrap = !0),
                  A && ((t.__inline1__ = !1), (t.__inline2__ = !0)),
                  S || n(),
                  ((e, t) => {
                    const n = e.length
                    let r = -1
                    for (; ++r < n; ) t(e[r])
                  })(e, e => {
                    ;(N = !1),
                      S && (t.__inline2__ = !1),
                      T.push((w || S ? '' : E) + f(e, t))
                  }),
                  N
                    ? '[]'
                    : S
                    ? '[' + T.join(', ') + ']'
                    : '[' + C + T.join(',' + C) + C + (w ? '' : x) + ']'
                )
              if (
                !(e => 'number' == typeof e || '[object Number]' == o.call(e))(
                  e
                )
              )
                return (e => '[object Object]' == o.call(e))(e)
                  ? ((T = []),
                    (t.wrap = !0),
                    n(),
                    r(e, (e, n) => {
                      ;(N = !1),
                        T.push(
                          (w ? '' : E) +
                            f(e, t) +
                            ':' +
                            (w ? '' : ' ') +
                            f(n, t)
                        )
                    }),
                    N
                      ? '{}'
                      : '{' + C + T.join(',' + C) + C + (w ? '' : x) + '}')
                  : _
                  ? JSON.stringify(e) || 'null'
                  : String(e)
              if (_) return JSON.stringify(e)
              if (I) return String(e)
              if (L) {
                let t = e.toString(16)
                return v || (t = t.toUpperCase()), '0x' + t
              }
              if (O) return '0b' + e.toString(2)
              if (k) return '0o' + e.toString(8)
            }
            var P
            const R = t.escapeEverything ? p : h
            return (
              (T = e.replace(R, (e, n, r, o, a, p) => {
                if (n) {
                  if (t.minimal) return n
                  const e = n.charCodeAt(0),
                    r = n.charCodeAt(1)
                  return t.es6
                    ? '\\u{' +
                        i(1024 * (e - 55296) + r - 56320 + 65536, v) +
                        '}'
                    : s(i(e, v)) + s(i(r, v))
                }
                if (r) return s(i(r.charCodeAt(0), v))
                if ('\0' == e && !_ && !u.test(p.charAt(a + 1))) return '\\0'
                if (o) return o == y || t.escapeEverything ? '\\' + o : o
                if (c.test(e)) return l[e]
                if (t.minimal && !d.test(e)) return e
                const h = i(e.charCodeAt(0), v)
                return _ || h.length > 2 ? s(h) : '\\x' + ('00' + h).slice(-2)
              })),
              '`' == y && (T = T.replace(/\$\{/g, '\\${')),
              t.isScriptContext &&
                (T = T.replace(/<\/(script|style)/gi, '<\\/$1').replace(
                  /<!--/g,
                  _ ? '\\u003C!--' : '\\x3C!--'
                )),
              t.wrap && (T = y + T + y),
              T
            )
          }
        ;(f.version = '3.0.2'), (e.exports = f)
      },
      9368: e => {
        'use strict'
        function t (e) {
          if ('string' != typeof e)
            throw new TypeError(
              'Path must be a string. Received ' + JSON.stringify(e)
            )
        }
        function n (e, t) {
          for (var n, r = '', s = 0, i = -1, o = 0, a = 0; a <= e.length; ++a) {
            if (a < e.length) n = e.charCodeAt(a)
            else {
              if (47 === n) break
              n = 47
            }
            if (47 === n) {
              if (i === a - 1 || 1 === o);
              else if (i !== a - 1 && 2 === o) {
                if (
                  r.length < 2 ||
                  2 !== s ||
                  46 !== r.charCodeAt(r.length - 1) ||
                  46 !== r.charCodeAt(r.length - 2)
                )
                  if (r.length > 2) {
                    var l = r.lastIndexOf('/')
                    if (l !== r.length - 1) {
                      ;-1 === l
                        ? ((r = ''), (s = 0))
                        : (s =
                            (r = r.slice(0, l)).length -
                            1 -
                            r.lastIndexOf('/')),
                        (i = a),
                        (o = 0)
                      continue
                    }
                  } else if (2 === r.length || 1 === r.length) {
                    ;(r = ''), (s = 0), (i = a), (o = 0)
                    continue
                  }
                t && (r.length > 0 ? (r += '/..') : (r = '..'), (s = 2))
              } else
                r.length > 0
                  ? (r += '/' + e.slice(i + 1, a))
                  : (r = e.slice(i + 1, a)),
                  (s = a - i - 1)
              ;(i = a), (o = 0)
            } else 46 === n && -1 !== o ? ++o : (o = -1)
          }
          return r
        }
        var r = {
          resolve: function () {
            for (
              var e, r = '', s = !1, i = arguments.length - 1;
              i >= -1 && !s;
              i--
            ) {
              var o
              i >= 0
                ? (o = arguments[i])
                : (void 0 === e && (e = process.cwd()), (o = e)),
                t(o),
                0 !== o.length &&
                  ((r = o + '/' + r), (s = 47 === o.charCodeAt(0)))
            }
            return (
              (r = n(r, !s)),
              s ? (r.length > 0 ? '/' + r : '/') : r.length > 0 ? r : '.'
            )
          },
          normalize: function (e) {
            if ((t(e), 0 === e.length)) return '.'
            var r = 47 === e.charCodeAt(0),
              s = 47 === e.charCodeAt(e.length - 1)
            return (
              0 !== (e = n(e, !r)).length || r || (e = '.'),
              e.length > 0 && s && (e += '/'),
              r ? '/' + e : e
            )
          },
          isAbsolute: function (e) {
            return t(e), e.length > 0 && 47 === e.charCodeAt(0)
          },
          join: function () {
            if (0 === arguments.length) return '.'
            for (var e, n = 0; n < arguments.length; ++n) {
              var s = arguments[n]
              t(s), s.length > 0 && (void 0 === e ? (e = s) : (e += '/' + s))
            }
            return void 0 === e ? '.' : r.normalize(e)
          },
          relative: function (e, n) {
            if ((t(e), t(n), e === n)) return ''
            if ((e = r.resolve(e)) === (n = r.resolve(n))) return ''
            for (var s = 1; s < e.length && 47 === e.charCodeAt(s); ++s);
            for (
              var i = e.length, o = i - s, a = 1;
              a < n.length && 47 === n.charCodeAt(a);
              ++a
            );
            for (
              var l = n.length - a, c = o < l ? o : l, u = -1, d = 0;
              d <= c;
              ++d
            ) {
              if (d === c) {
                if (l > c) {
                  if (47 === n.charCodeAt(a + d)) return n.slice(a + d + 1)
                  if (0 === d) return n.slice(a + d)
                } else
                  o > c &&
                    (47 === e.charCodeAt(s + d) ? (u = d) : 0 === d && (u = 0))
                break
              }
              var p = e.charCodeAt(s + d)
              if (p !== n.charCodeAt(a + d)) break
              47 === p && (u = d)
            }
            var h = ''
            for (d = s + u + 1; d <= i; ++d)
              (d !== i && 47 !== e.charCodeAt(d)) ||
                (0 === h.length ? (h += '..') : (h += '/..'))
            return h.length > 0
              ? h + n.slice(a + u)
              : ((a += u), 47 === n.charCodeAt(a) && ++a, n.slice(a))
          },
          _makeLong: function (e) {
            return e
          },
          dirname: function (e) {
            if ((t(e), 0 === e.length)) return '.'
            for (
              var n = e.charCodeAt(0),
                r = 47 === n,
                s = -1,
                i = !0,
                o = e.length - 1;
              o >= 1;
              --o
            )
              if (47 === (n = e.charCodeAt(o))) {
                if (!i) {
                  s = o
                  break
                }
              } else i = !1
            return -1 === s
              ? r
                ? '/'
                : '.'
              : r && 1 === s
              ? '//'
              : e.slice(0, s)
          },
          basename: function (e, n) {
            if (void 0 !== n && 'string' != typeof n)
              throw new TypeError('"ext" argument must be a string')
            t(e)
            var r,
              s = 0,
              i = -1,
              o = !0
            if (void 0 !== n && n.length > 0 && n.length <= e.length) {
              if (n.length === e.length && n === e) return ''
              var a = n.length - 1,
                l = -1
              for (r = e.length - 1; r >= 0; --r) {
                var c = e.charCodeAt(r)
                if (47 === c) {
                  if (!o) {
                    s = r + 1
                    break
                  }
                } else
                  -1 === l && ((o = !1), (l = r + 1)),
                    a >= 0 &&
                      (c === n.charCodeAt(a)
                        ? -1 == --a && (i = r)
                        : ((a = -1), (i = l)))
              }
              return (
                s === i ? (i = l) : -1 === i && (i = e.length), e.slice(s, i)
              )
            }
            for (r = e.length - 1; r >= 0; --r)
              if (47 === e.charCodeAt(r)) {
                if (!o) {
                  s = r + 1
                  break
                }
              } else -1 === i && ((o = !1), (i = r + 1))
            return -1 === i ? '' : e.slice(s, i)
          },
          extname: function (e) {
            t(e)
            for (
              var n = -1, r = 0, s = -1, i = !0, o = 0, a = e.length - 1;
              a >= 0;
              --a
            ) {
              var l = e.charCodeAt(a)
              if (47 !== l)
                -1 === s && ((i = !1), (s = a + 1)),
                  46 === l
                    ? -1 === n
                      ? (n = a)
                      : 1 !== o && (o = 1)
                    : -1 !== n && (o = -1)
              else if (!i) {
                r = a + 1
                break
              }
            }
            return -1 === n ||
              -1 === s ||
              0 === o ||
              (1 === o && n === s - 1 && n === r + 1)
              ? ''
              : e.slice(n, s)
          },
          format: function (e) {
            if (null === e || 'object' != typeof e)
              throw new TypeError(
                'The "pathObject" argument must be of type Object. Received type ' +
                  typeof e
              )
            return (function (e, t) {
              var n = t.dir || t.root,
                r = t.base || (t.name || '') + (t.ext || '')
              return n ? (n === t.root ? n + r : n + '/' + r) : r
            })(0, e)
          },
          parse: function (e) {
            t(e)
            var n = { root: '', dir: '', base: '', ext: '', name: '' }
            if (0 === e.length) return n
            var r,
              s = e.charCodeAt(0),
              i = 47 === s
            i ? ((n.root = '/'), (r = 1)) : (r = 0)
            for (
              var o = -1, a = 0, l = -1, c = !0, u = e.length - 1, d = 0;
              u >= r;
              --u
            )
              if (47 !== (s = e.charCodeAt(u)))
                -1 === l && ((c = !1), (l = u + 1)),
                  46 === s
                    ? -1 === o
                      ? (o = u)
                      : 1 !== d && (d = 1)
                    : -1 !== o && (d = -1)
              else if (!c) {
                a = u + 1
                break
              }
            return (
              -1 === o ||
              -1 === l ||
              0 === d ||
              (1 === d && o === l - 1 && o === a + 1)
                ? -1 !== l &&
                  (n.base = n.name =
                    0 === a && i ? e.slice(1, l) : e.slice(a, l))
                : (0 === a && i
                    ? ((n.name = e.slice(1, o)), (n.base = e.slice(1, l)))
                    : ((n.name = e.slice(a, o)), (n.base = e.slice(a, l))),
                  (n.ext = e.slice(o, l))),
              a > 0 ? (n.dir = e.slice(0, a - 1)) : i && (n.dir = '/'),
              n
            )
          },
          sep: '/',
          delimiter: ':',
          win32: null,
          posix: null
        }
        ;(r.posix = r), (e.exports = r)
      },
      6063: e => {
        'use strict'
        function t (e, t) {
          return Object.prototype.hasOwnProperty.call(e, t)
        }
        e.exports = function (e, n, r, s) {
          ;(n = n || '&'), (r = r || '=')
          var i = {}
          if ('string' != typeof e || 0 === e.length) return i
          var o = /\+/g
          e = e.split(n)
          var a = 1e3
          s && 'number' == typeof s.maxKeys && (a = s.maxKeys)
          var l = e.length
          a > 0 && l > a && (l = a)
          for (var c = 0; c < l; ++c) {
            var u,
              d,
              p,
              h,
              f = e[c].replace(o, '%20'),
              m = f.indexOf(r)
            m >= 0
              ? ((u = f.substr(0, m)), (d = f.substr(m + 1)))
              : ((u = f), (d = '')),
              (p = decodeURIComponent(u)),
              (h = decodeURIComponent(d)),
              t(i, p)
                ? Array.isArray(i[p])
                  ? i[p].push(h)
                  : (i[p] = [i[p], h])
                : (i[p] = h)
          }
          return i
        }
      },
      1957: e => {
        'use strict'
        var t = function (e) {
          switch (typeof e) {
            case 'string':
              return e
            case 'boolean':
              return e ? 'true' : 'false'
            case 'number':
              return isFinite(e) ? e : ''
            default:
              return ''
          }
        }
        e.exports = function (e, n, r, s) {
          return (
            (n = n || '&'),
            (r = r || '='),
            null === e && (e = void 0),
            'object' == typeof e
              ? Object.keys(e)
                  .map(function (s) {
                    var i = encodeURIComponent(t(s)) + r
                    return Array.isArray(e[s])
                      ? e[s]
                          .map(function (e) {
                            return i + encodeURIComponent(t(e))
                          })
                          .join(n)
                      : i + encodeURIComponent(t(e[s]))
                  })
                  .join(n)
              : s
              ? encodeURIComponent(t(s)) + r + encodeURIComponent(t(e))
              : ''
          )
        }
      },
      5582: (e, t, n) => {
        'use strict'
        ;(t.decode = t.parse = n(6063)), (t.encode = t.stringify = n(1957))
      },
      8928: function (e, t, n) {
        var r
        ;(e = n.nmd(e)),
          (function (s) {
            t && t.nodeType, e && e.nodeType
            var i = 'object' == typeof n.g && n.g
            i.global !== i && i.window !== i && i.self
            var o,
              a = 2147483647,
              l = 36,
              c = /^xn--/,
              u = /[^\x20-\x7E]/,
              d = /[\x2E\u3002\uFF0E\uFF61]/g,
              p = {
                overflow: 'Overflow: input needs wider integers to process',
                'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
                'invalid-input': 'Invalid input'
              },
              h = Math.floor,
              f = String.fromCharCode
            function m (e) {
              throw RangeError(p[e])
            }
            function _ (e, t) {
              for (var n = e.length, r = []; n--; ) r[n] = t(e[n])
              return r
            }
            function g (e, t) {
              var n = e.split('@'),
                r = ''
              return (
                n.length > 1 && ((r = n[0] + '@'), (e = n[1])),
                r + _((e = e.replace(d, '.')).split('.'), t).join('.')
              )
            }
            function b (e) {
              for (var t, n, r = [], s = 0, i = e.length; s < i; )
                (t = e.charCodeAt(s++)) >= 55296 && t <= 56319 && s < i
                  ? 56320 == (64512 & (n = e.charCodeAt(s++)))
                    ? r.push(((1023 & t) << 10) + (1023 & n) + 65536)
                    : (r.push(t), s--)
                  : r.push(t)
              return r
            }
            function y (e) {
              return _(e, function (e) {
                var t = ''
                return (
                  e > 65535 &&
                    ((t += f((((e -= 65536) >>> 10) & 1023) | 55296)),
                    (e = 56320 | (1023 & e))),
                  t + f(e)
                )
              }).join('')
            }
            function w (e, t) {
              return e + 22 + 75 * (e < 26) - ((0 != t) << 5)
            }
            function v (e, t, n) {
              var r = 0
              for (e = n ? h(e / 700) : e >> 1, e += h(e / t); e > 455; r += l)
                e = h(e / 35)
              return h(r + (36 * e) / (e + 38))
            }
            function E (e) {
              var t,
                n,
                r,
                s,
                i,
                o,
                c,
                u,
                d,
                p,
                f,
                _ = [],
                g = e.length,
                b = 0,
                w = 128,
                E = 72
              for ((n = e.lastIndexOf('-')) < 0 && (n = 0), r = 0; r < n; ++r)
                e.charCodeAt(r) >= 128 && m('not-basic'),
                  _.push(e.charCodeAt(r))
              for (s = n > 0 ? n + 1 : 0; s < g; ) {
                for (
                  i = b, o = 1, c = l;
                  s >= g && m('invalid-input'),
                    ((u =
                      (f = e.charCodeAt(s++)) - 48 < 10
                        ? f - 22
                        : f - 65 < 26
                        ? f - 65
                        : f - 97 < 26
                        ? f - 97
                        : l) >= l ||
                      u > h((a - b) / o)) &&
                      m('overflow'),
                    (b += u * o),
                    !(u < (d = c <= E ? 1 : c >= E + 26 ? 26 : c - E));
                  c += l
                )
                  o > h(a / (p = l - d)) && m('overflow'), (o *= p)
                ;(E = v(b - i, (t = _.length + 1), 0 == i)),
                  h(b / t) > a - w && m('overflow'),
                  (w += h(b / t)),
                  (b %= t),
                  _.splice(b++, 0, w)
              }
              return y(_)
            }
            function x (e) {
              var t,
                n,
                r,
                s,
                i,
                o,
                c,
                u,
                d,
                p,
                _,
                g,
                y,
                E,
                x,
                A = []
              for (
                g = (e = b(e)).length, t = 128, n = 0, i = 72, o = 0;
                o < g;
                ++o
              )
                (_ = e[o]) < 128 && A.push(f(_))
              for (r = s = A.length, s && A.push('-'); r < g; ) {
                for (c = a, o = 0; o < g; ++o)
                  (_ = e[o]) >= t && _ < c && (c = _)
                for (
                  c - t > h((a - n) / (y = r + 1)) && m('overflow'),
                    n += (c - t) * y,
                    t = c,
                    o = 0;
                  o < g;
                  ++o
                )
                  if (((_ = e[o]) < t && ++n > a && m('overflow'), _ == t)) {
                    for (
                      u = n, d = l;
                      !(u < (p = d <= i ? 1 : d >= i + 26 ? 26 : d - i));
                      d += l
                    )
                      (x = u - p),
                        (E = l - p),
                        A.push(f(w(p + (x % E), 0))),
                        (u = h(x / E))
                    A.push(f(w(u, 0))), (i = v(n, y, r == s)), (n = 0), ++r
                  }
                ++n, ++t
              }
              return A.join('')
            }
            ;(o = {
              version: '1.3.2',
              ucs2: { decode: b, encode: y },
              decode: E,
              encode: x,
              toASCII: function (e) {
                return g(e, function (e) {
                  return u.test(e) ? 'xn--' + x(e) : e
                })
              },
              toUnicode: function (e) {
                return g(e, function (e) {
                  return c.test(e) ? E(e.slice(4).toLowerCase()) : e
                })
              }
            }),
              void 0 ===
                (r = function () {
                  return o
                }.call(t, n, t, e)) || (e.exports = r)
          })()
      },
      4044: (e, t, n) => {
        'use strict'
        var r = n(8928),
          s = n(944)
        function i () {
          ;(this.protocol = null),
            (this.slashes = null),
            (this.auth = null),
            (this.host = null),
            (this.port = null),
            (this.hostname = null),
            (this.hash = null),
            (this.search = null),
            (this.query = null),
            (this.pathname = null),
            (this.path = null),
            (this.href = null)
        }
        ;(t.parse = y),
          (t.resolve = function (e, t) {
            return y(e, !1, !0).resolve(t)
          }),
          (t.resolveObject = function (e, t) {
            return e ? y(e, !1, !0).resolveObject(t) : t
          }),
          (t.format = function (e) {
            return (
              s.isString(e) && (e = y(e)),
              e instanceof i ? e.format() : i.prototype.format.call(e)
            )
          }),
          (t.Url = i)
        var o = /^([a-z0-9.+-]+:)/i,
          a = /:[0-9]*$/,
          l = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
          c = ['{', '}', '|', '\\', '^', '`'].concat([
            '<',
            '>',
            '"',
            '`',
            ' ',
            '\r',
            '\n',
            '\t'
          ]),
          u = ["'"].concat(c),
          d = ['%', '/', '?', ';', '#'].concat(u),
          p = ['/', '?', '#'],
          h = /^[+a-z0-9A-Z_-]{0,63}$/,
          f = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
          m = { javascript: !0, 'javascript:': !0 },
          _ = { javascript: !0, 'javascript:': !0 },
          g = {
            http: !0,
            https: !0,
            ftp: !0,
            gopher: !0,
            file: !0,
            'http:': !0,
            'https:': !0,
            'ftp:': !0,
            'gopher:': !0,
            'file:': !0
          },
          b = n(5582)
        function y (e, t, n) {
          if (e && s.isObject(e) && e instanceof i) return e
          var r = new i()
          return r.parse(e, t, n), r
        }
        ;(i.prototype.parse = function (e, t, n) {
          if (!s.isString(e))
            throw new TypeError(
              "Parameter 'url' must be a string, not " + typeof e
            )
          var i = e.indexOf('?'),
            a = -1 !== i && i < e.indexOf('#') ? '?' : '#',
            c = e.split(a)
          c[0] = c[0].replace(/\\/g, '/')
          var y = (e = c.join(a))
          if (((y = y.trim()), !n && 1 === e.split('#').length)) {
            var w = l.exec(y)
            if (w)
              return (
                (this.path = y),
                (this.href = y),
                (this.pathname = w[1]),
                w[2]
                  ? ((this.search = w[2]),
                    (this.query = t
                      ? b.parse(this.search.substr(1))
                      : this.search.substr(1)))
                  : t && ((this.search = ''), (this.query = {})),
                this
              )
          }
          var v = o.exec(y)
          if (v) {
            var E = (v = v[0]).toLowerCase()
            ;(this.protocol = E), (y = y.substr(v.length))
          }
          if (n || v || y.match(/^\/\/[^@\/]+@[^@\/]+/)) {
            var x = '//' === y.substr(0, 2)
            !x || (v && _[v]) || ((y = y.substr(2)), (this.slashes = !0))
          }
          if (!_[v] && (x || (v && !g[v]))) {
            for (var A, S, C = -1, T = 0; T < p.length; T++)
              -1 !== (N = y.indexOf(p[T])) && (-1 === C || N < C) && (C = N)
            for (
              -1 !==
                (S = -1 === C ? y.lastIndexOf('@') : y.lastIndexOf('@', C)) &&
                ((A = y.slice(0, S)),
                (y = y.slice(S + 1)),
                (this.auth = decodeURIComponent(A))),
                C = -1,
                T = 0;
              T < d.length;
              T++
            ) {
              var N
              ;-1 !== (N = y.indexOf(d[T])) && (-1 === C || N < C) && (C = N)
            }
            ;-1 === C && (C = y.length),
              (this.host = y.slice(0, C)),
              (y = y.slice(C)),
              this.parseHost(),
              (this.hostname = this.hostname || '')
            var O =
              '[' === this.hostname[0] &&
              ']' === this.hostname[this.hostname.length - 1]
            if (!O)
              for (
                var k = this.hostname.split(/\./), I = ((T = 0), k.length);
                T < I;
                T++
              ) {
                var L = k[T]
                if (L && !L.match(h)) {
                  for (var P = '', R = 0, M = L.length; R < M; R++)
                    L.charCodeAt(R) > 127 ? (P += 'x') : (P += L[R])
                  if (!P.match(h)) {
                    var D = k.slice(0, T),
                      j = k.slice(T + 1),
                      F = L.match(f)
                    F && (D.push(F[1]), j.unshift(F[2])),
                      j.length && (y = '/' + j.join('.') + y),
                      (this.hostname = D.join('.'))
                    break
                  }
                }
              }
            this.hostname.length > 255
              ? (this.hostname = '')
              : (this.hostname = this.hostname.toLowerCase()),
              O || (this.hostname = r.toASCII(this.hostname))
            var q = this.port ? ':' + this.port : '',
              $ = this.hostname || ''
            ;(this.host = $ + q),
              (this.href += this.host),
              O &&
                ((this.hostname = this.hostname.substr(
                  1,
                  this.hostname.length - 2
                )),
                '/' !== y[0] && (y = '/' + y))
          }
          if (!m[E])
            for (T = 0, I = u.length; T < I; T++) {
              var B = u[T]
              if (-1 !== y.indexOf(B)) {
                var U = encodeURIComponent(B)
                U === B && (U = escape(B)), (y = y.split(B).join(U))
              }
            }
          var H = y.indexOf('#')
          ;-1 !== H && ((this.hash = y.substr(H)), (y = y.slice(0, H)))
          var W = y.indexOf('?')
          if (
            (-1 !== W
              ? ((this.search = y.substr(W)),
                (this.query = y.substr(W + 1)),
                t && (this.query = b.parse(this.query)),
                (y = y.slice(0, W)))
              : t && ((this.search = ''), (this.query = {})),
            y && (this.pathname = y),
            g[E] && this.hostname && !this.pathname && (this.pathname = '/'),
            this.pathname || this.search)
          ) {
            q = this.pathname || ''
            var z = this.search || ''
            this.path = q + z
          }
          return (this.href = this.format()), this
        }),
          (i.prototype.format = function () {
            var e = this.auth || ''
            e &&
              ((e = (e = encodeURIComponent(e)).replace(/%3A/i, ':')),
              (e += '@'))
            var t = this.protocol || '',
              n = this.pathname || '',
              r = this.hash || '',
              i = !1,
              o = ''
            this.host
              ? (i = e + this.host)
              : this.hostname &&
                ((i =
                  e +
                  (-1 === this.hostname.indexOf(':')
                    ? this.hostname
                    : '[' + this.hostname + ']')),
                this.port && (i += ':' + this.port)),
              this.query &&
                s.isObject(this.query) &&
                Object.keys(this.query).length &&
                (o = b.stringify(this.query))
            var a = this.search || (o && '?' + o) || ''
            return (
              t && ':' !== t.substr(-1) && (t += ':'),
              this.slashes || ((!t || g[t]) && !1 !== i)
                ? ((i = '//' + (i || '')),
                  n && '/' !== n.charAt(0) && (n = '/' + n))
                : i || (i = ''),
              r && '#' !== r.charAt(0) && (r = '#' + r),
              a && '?' !== a.charAt(0) && (a = '?' + a),
              t +
                i +
                (n = n.replace(/[?#]/g, function (e) {
                  return encodeURIComponent(e)
                })) +
                (a = a.replace('#', '%23')) +
                r
            )
          }),
          (i.prototype.resolve = function (e) {
            return this.resolveObject(y(e, !1, !0)).format()
          }),
          (i.prototype.resolveObject = function (e) {
            if (s.isString(e)) {
              var t = new i()
              t.parse(e, !1, !0), (e = t)
            }
            for (
              var n = new i(), r = Object.keys(this), o = 0;
              o < r.length;
              o++
            ) {
              var a = r[o]
              n[a] = this[a]
            }
            if (((n.hash = e.hash), '' === e.href))
              return (n.href = n.format()), n
            if (e.slashes && !e.protocol) {
              for (var l = Object.keys(e), c = 0; c < l.length; c++) {
                var u = l[c]
                'protocol' !== u && (n[u] = e[u])
              }
              return (
                g[n.protocol] &&
                  n.hostname &&
                  !n.pathname &&
                  (n.path = n.pathname = '/'),
                (n.href = n.format()),
                n
              )
            }
            if (e.protocol && e.protocol !== n.protocol) {
              if (!g[e.protocol]) {
                for (var d = Object.keys(e), p = 0; p < d.length; p++) {
                  var h = d[p]
                  n[h] = e[h]
                }
                return (n.href = n.format()), n
              }
              if (((n.protocol = e.protocol), e.host || _[e.protocol]))
                n.pathname = e.pathname
              else {
                for (
                  var f = (e.pathname || '').split('/');
                  f.length && !(e.host = f.shift());

                );
                e.host || (e.host = ''),
                  e.hostname || (e.hostname = ''),
                  '' !== f[0] && f.unshift(''),
                  f.length < 2 && f.unshift(''),
                  (n.pathname = f.join('/'))
              }
              if (
                ((n.search = e.search),
                (n.query = e.query),
                (n.host = e.host || ''),
                (n.auth = e.auth),
                (n.hostname = e.hostname || e.host),
                (n.port = e.port),
                n.pathname || n.search)
              ) {
                var m = n.pathname || '',
                  b = n.search || ''
                n.path = m + b
              }
              return (
                (n.slashes = n.slashes || e.slashes), (n.href = n.format()), n
              )
            }
            var y = n.pathname && '/' === n.pathname.charAt(0),
              w = e.host || (e.pathname && '/' === e.pathname.charAt(0)),
              v = w || y || (n.host && e.pathname),
              E = v,
              x = (n.pathname && n.pathname.split('/')) || [],
              A =
                ((f = (e.pathname && e.pathname.split('/')) || []),
                n.protocol && !g[n.protocol])
            if (
              (A &&
                ((n.hostname = ''),
                (n.port = null),
                n.host && ('' === x[0] ? (x[0] = n.host) : x.unshift(n.host)),
                (n.host = ''),
                e.protocol &&
                  ((e.hostname = null),
                  (e.port = null),
                  e.host && ('' === f[0] ? (f[0] = e.host) : f.unshift(e.host)),
                  (e.host = null)),
                (v = v && ('' === f[0] || '' === x[0]))),
              w)
            )
              (n.host = e.host || '' === e.host ? e.host : n.host),
                (n.hostname =
                  e.hostname || '' === e.hostname ? e.hostname : n.hostname),
                (n.search = e.search),
                (n.query = e.query),
                (x = f)
            else if (f.length)
              x || (x = []),
                x.pop(),
                (x = x.concat(f)),
                (n.search = e.search),
                (n.query = e.query)
            else if (!s.isNullOrUndefined(e.search))
              return (
                A &&
                  ((n.hostname = n.host = x.shift()),
                  (O =
                    !!(n.host && n.host.indexOf('@') > 0) &&
                    n.host.split('@')) &&
                    ((n.auth = O.shift()), (n.host = n.hostname = O.shift()))),
                (n.search = e.search),
                (n.query = e.query),
                (s.isNull(n.pathname) && s.isNull(n.search)) ||
                  (n.path =
                    (n.pathname ? n.pathname : '') +
                    (n.search ? n.search : '')),
                (n.href = n.format()),
                n
              )
            if (!x.length)
              return (
                (n.pathname = null),
                n.search ? (n.path = '/' + n.search) : (n.path = null),
                (n.href = n.format()),
                n
              )
            for (
              var S = x.slice(-1)[0],
                C =
                  ((n.host || e.host || x.length > 1) &&
                    ('.' === S || '..' === S)) ||
                  '' === S,
                T = 0,
                N = x.length;
              N >= 0;
              N--
            )
              '.' === (S = x[N])
                ? x.splice(N, 1)
                : '..' === S
                ? (x.splice(N, 1), T++)
                : T && (x.splice(N, 1), T--)
            if (!v && !E) for (; T--; T) x.unshift('..')
            !v ||
              '' === x[0] ||
              (x[0] && '/' === x[0].charAt(0)) ||
              x.unshift(''),
              C && '/' !== x.join('/').substr(-1) && x.push('')
            var O,
              k = '' === x[0] || (x[0] && '/' === x[0].charAt(0))
            return (
              A &&
                ((n.hostname = n.host = k ? '' : x.length ? x.shift() : ''),
                (O =
                  !!(n.host && n.host.indexOf('@') > 0) && n.host.split('@')) &&
                  ((n.auth = O.shift()), (n.host = n.hostname = O.shift()))),
              (v = v || (n.host && x.length)) && !k && x.unshift(''),
              x.length
                ? (n.pathname = x.join('/'))
                : ((n.pathname = null), (n.path = null)),
              (s.isNull(n.pathname) && s.isNull(n.search)) ||
                (n.path =
                  (n.pathname ? n.pathname : '') + (n.search ? n.search : '')),
              (n.auth = e.auth || n.auth),
              (n.slashes = n.slashes || e.slashes),
              (n.href = n.format()),
              n
            )
          }),
          (i.prototype.parseHost = function () {
            var e = this.host,
              t = a.exec(e)
            t &&
              (':' !== (t = t[0]) && (this.port = t.substr(1)),
              (e = e.substr(0, e.length - t.length))),
              e && (this.hostname = e)
          })
      },
      944: e => {
        'use strict'
        e.exports = {
          isString: function (e) {
            return 'string' == typeof e
          },
          isObject: function (e) {
            return 'object' == typeof e && null !== e
          },
          isNull: function (e) {
            return null === e
          },
          isNullOrUndefined: function (e) {
            return null == e
          }
        }
      },
      936: (e, t, n) => {
        var r = void 0 !== r ? r : {},
          s = (function () {
            var t,
              s =
                'object' == typeof window
                  ? { currentScript: window.document.currentScript }
                  : null
            class i {
              constructor () {
                this.initialize()
              }
              initialize () {
                throw new Error(
                  'cannot construct a Parser before calling `init()`'
                )
              }
              static init (o) {
                return (
                  t ||
                  ((r = Object.assign({}, r, o)),
                  (t = new Promise(t => {
                    var o,
                      a = {}
                    for (o in r) r.hasOwnProperty(o) && (a[o] = r[o])
                    var l,
                      c,
                      u,
                      d,
                      p = [],
                      h = './this.program',
                      f = function (e, t) {
                        throw t
                      }
                    ;(u = 'object' == typeof window),
                      (d = 'function' == typeof importScripts),
                      (l =
                        'object' == typeof process &&
                        'object' == typeof process.versions &&
                        'string' == typeof process.versions.node),
                      (c = !u && !l && !d)
                    var m,
                      _,
                      g,
                      b,
                      y,
                      w = ''
                    l
                      ? ((w = d ? n(9368).dirname(w) + '/' : '//'),
                        (m = function (e, t) {
                          return (
                            b || (b = n(8498)),
                            y || (y = n(9368)),
                            (e = y.normalize(e)),
                            b.readFileSync(e, t ? null : 'utf8')
                          )
                        }),
                        (g = function (e) {
                          var t = m(e, !0)
                          return (
                            t.buffer || (t = new Uint8Array(t)), L(t.buffer), t
                          )
                        }),
                        process.argv.length > 1 &&
                          (h = process.argv[1].replace(/\\/g, '/')),
                        (p = process.argv.slice(2)),
                        (e.exports = r),
                        (f = function (e) {
                          process.exit(e)
                        }),
                        (r.inspect = function () {
                          return '[Emscripten Module object]'
                        }))
                      : c
                      ? ('undefined' != typeof read &&
                          (m = function (e) {
                            return read(e)
                          }),
                        (g = function (e) {
                          var t
                          return 'function' == typeof readbuffer
                            ? new Uint8Array(readbuffer(e))
                            : (L('object' == typeof (t = read(e, 'binary'))), t)
                        }),
                        'undefined' != typeof scriptArgs
                          ? (p = scriptArgs)
                          : void 0 !== arguments && (p = arguments),
                        'function' == typeof quit &&
                          (f = function (e) {
                            quit(e)
                          }),
                        'undefined' != typeof print &&
                          ('undefined' == typeof console && (console = {}),
                          (console.log = print),
                          (console.warn = console.error =
                            'undefined' != typeof printErr ? printErr : print)))
                      : (u || d) &&
                        (d
                          ? (w = self.location.href)
                          : void 0 !== s &&
                            s.currentScript &&
                            (w = s.currentScript.src),
                        (w =
                          0 !== w.indexOf('blob:')
                            ? w.substr(0, w.lastIndexOf('/') + 1)
                            : ''),
                        (m = function (e) {
                          var t = new XMLHttpRequest()
                          return (
                            t.open('GET', e, !1), t.send(null), t.responseText
                          )
                        }),
                        d &&
                          (g = function (e) {
                            var t = new XMLHttpRequest()
                            return (
                              t.open('GET', e, !1),
                              (t.responseType = 'arraybuffer'),
                              t.send(null),
                              new Uint8Array(t.response)
                            )
                          }),
                        (_ = function (e, t, n) {
                          var r = new XMLHttpRequest()
                          r.open('GET', e, !0),
                            (r.responseType = 'arraybuffer'),
                            (r.onload = function () {
                              200 == r.status || (0 == r.status && r.response)
                                ? t(r.response)
                                : n()
                            }),
                            (r.onerror = n),
                            r.send(null)
                        })),
                      r.print || console.log.bind(console)
                    var v = r.printErr || console.warn.bind(console)
                    for (o in a) a.hasOwnProperty(o) && (r[o] = a[o])
                    ;(a = null),
                      r.arguments && (p = r.arguments),
                      r.thisProgram && (h = r.thisProgram),
                      r.quit && (f = r.quit)
                    var E,
                      x = []
                    function A (e, t) {
                      if (!E) {
                        E = new WeakMap()
                        for (var n = 0; n < Y.length; n++) {
                          var r = Y.get(n)
                          r && E.set(r, n)
                        }
                      }
                      if (E.has(e)) return E.get(e)
                      var s = (function () {
                        if (x.length) return x.pop()
                        try {
                          Y.grow(1)
                        } catch (e) {
                          if (!(e instanceof RangeError)) throw e
                          throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.'
                        }
                        return Y.length - 1
                      })()
                      try {
                        Y.set(s, e)
                      } catch (n) {
                        if (!(n instanceof TypeError)) throw n
                        var i = (function (e, t) {
                          if ('function' == typeof WebAssembly.Function) {
                            for (
                              var n = {
                                  i: 'i32',
                                  j: 'i64',
                                  f: 'f32',
                                  d: 'f64'
                                },
                                r = {
                                  parameters: [],
                                  results: 'v' == t[0] ? [] : [n[t[0]]]
                                },
                                s = 1;
                              s < t.length;
                              ++s
                            )
                              r.parameters.push(n[t[s]])
                            return new WebAssembly.Function(r, e)
                          }
                          var i = [1, 0, 1, 96],
                            o = t.slice(0, 1),
                            a = t.slice(1),
                            l = { i: 127, j: 126, f: 125, d: 124 }
                          for (i.push(a.length), s = 0; s < a.length; ++s)
                            i.push(l[a[s]])
                          'v' == o ? i.push(0) : (i = i.concat([1, l[o]])),
                            (i[1] = i.length - 2)
                          var c = new Uint8Array(
                              [0, 97, 115, 109, 1, 0, 0, 0].concat(i, [
                                2,
                                7,
                                1,
                                1,
                                101,
                                1,
                                102,
                                0,
                                0,
                                7,
                                5,
                                1,
                                1,
                                102,
                                0,
                                0
                              ])
                            ),
                            u = new WebAssembly.Module(c)
                          return new WebAssembly.Instance(u, { e: { f: e } })
                            .exports.f
                        })(e, t)
                        Y.set(s, i)
                      }
                      return E.set(e, s), s
                    }
                    var S,
                      C = r.dynamicLibraries || []
                    r.wasmBinary && (S = r.wasmBinary)
                    var T,
                      N = r.noExitRuntime || !0
                    function O (e, t, n, r) {
                      switch (
                        ('*' === (n = n || 'i8').charAt(n.length - 1) &&
                          (n = 'i32'),
                        n)
                      ) {
                        case 'i1':
                        case 'i8':
                          R[e >> 0] = t
                          break
                        case 'i16':
                          D[e >> 1] = t
                          break
                        case 'i32':
                          j[e >> 2] = t
                          break
                        case 'i64':
                          ;(V = [
                            t >>> 0,
                            ((Q = t),
                            +Math.abs(Q) >= 1
                              ? Q > 0
                                ? (0 |
                                    Math.min(
                                      +Math.floor(Q / 4294967296),
                                      4294967295
                                    )) >>>
                                  0
                                : ~~+Math.ceil(
                                    (Q - +(~~Q >>> 0)) / 4294967296
                                  ) >>> 0
                              : 0)
                          ]),
                            (j[e >> 2] = V[0]),
                            (j[(e + 4) >> 2] = V[1])
                          break
                        case 'float':
                          F[e >> 2] = t
                          break
                        case 'double':
                          q[e >> 3] = t
                          break
                        default:
                          ce('invalid type for setValue: ' + n)
                      }
                    }
                    function k (e, t, n) {
                      switch (
                        ('*' === (t = t || 'i8').charAt(t.length - 1) &&
                          (t = 'i32'),
                        t)
                      ) {
                        case 'i1':
                        case 'i8':
                          return R[e >> 0]
                        case 'i16':
                          return D[e >> 1]
                        case 'i32':
                        case 'i64':
                          return j[e >> 2]
                        case 'float':
                          return F[e >> 2]
                        case 'double':
                          return q[e >> 3]
                        default:
                          ce('invalid type for getValue: ' + t)
                      }
                      return null
                    }
                    'object' != typeof WebAssembly &&
                      ce('no native wasm support detected')
                    var I = !1
                    function L (e, t) {
                      e || ce('Assertion failed: ' + t)
                    }
                    var P,
                      R,
                      M,
                      D,
                      j,
                      F,
                      q,
                      $ =
                        'undefined' != typeof TextDecoder
                          ? new TextDecoder('utf8')
                          : void 0
                    function B (e, t, n) {
                      for (var r = t + n, s = t; e[s] && !(s >= r); ) ++s
                      if (s - t > 16 && e.subarray && $)
                        return $.decode(e.subarray(t, s))
                      for (var i = ''; t < s; ) {
                        var o = e[t++]
                        if (128 & o) {
                          var a = 63 & e[t++]
                          if (192 != (224 & o)) {
                            var l = 63 & e[t++]
                            if (
                              (o =
                                224 == (240 & o)
                                  ? ((15 & o) << 12) | (a << 6) | l
                                  : ((7 & o) << 18) |
                                    (a << 12) |
                                    (l << 6) |
                                    (63 & e[t++])) < 65536
                            )
                              i += String.fromCharCode(o)
                            else {
                              var c = o - 65536
                              i += String.fromCharCode(
                                55296 | (c >> 10),
                                56320 | (1023 & c)
                              )
                            }
                          } else i += String.fromCharCode(((31 & o) << 6) | a)
                        } else i += String.fromCharCode(o)
                      }
                      return i
                    }
                    function U (e, t) {
                      return e ? B(M, e, t) : ''
                    }
                    function H (e, t, n, r) {
                      if (!(r > 0)) return 0
                      for (var s = n, i = n + r - 1, o = 0; o < e.length; ++o) {
                        var a = e.charCodeAt(o)
                        if (
                          (a >= 55296 &&
                            a <= 57343 &&
                            (a =
                              (65536 + ((1023 & a) << 10)) |
                              (1023 & e.charCodeAt(++o))),
                          a <= 127)
                        ) {
                          if (n >= i) break
                          t[n++] = a
                        } else if (a <= 2047) {
                          if (n + 1 >= i) break
                          ;(t[n++] = 192 | (a >> 6)), (t[n++] = 128 | (63 & a))
                        } else if (a <= 65535) {
                          if (n + 2 >= i) break
                          ;(t[n++] = 224 | (a >> 12)),
                            (t[n++] = 128 | ((a >> 6) & 63)),
                            (t[n++] = 128 | (63 & a))
                        } else {
                          if (n + 3 >= i) break
                          ;(t[n++] = 240 | (a >> 18)),
                            (t[n++] = 128 | ((a >> 12) & 63)),
                            (t[n++] = 128 | ((a >> 6) & 63)),
                            (t[n++] = 128 | (63 & a))
                        }
                      }
                      return (t[n] = 0), n - s
                    }
                    function W (e, t, n) {
                      return H(e, M, t, n)
                    }
                    function z (e) {
                      for (var t = 0, n = 0; n < e.length; ++n) {
                        var r = e.charCodeAt(n)
                        r >= 55296 &&
                          r <= 57343 &&
                          (r =
                            (65536 + ((1023 & r) << 10)) |
                            (1023 & e.charCodeAt(++n))),
                          r <= 127
                            ? ++t
                            : (t += r <= 2047 ? 2 : r <= 65535 ? 3 : 4)
                      }
                      return t
                    }
                    function K (e) {
                      var t = z(e) + 1,
                        n = ze(t)
                      return H(e, R, n, t), n
                    }
                    function Z (e) {
                      ;(P = e),
                        (r.HEAP8 = R = new Int8Array(e)),
                        (r.HEAP16 = D = new Int16Array(e)),
                        (r.HEAP32 = j = new Int32Array(e)),
                        (r.HEAPU8 = M = new Uint8Array(e)),
                        (r.HEAPU16 = new Uint16Array(e)),
                        (r.HEAPU32 = new Uint32Array(e)),
                        (r.HEAPF32 = F = new Float32Array(e)),
                        (r.HEAPF64 = q = new Float64Array(e))
                    }
                    var G = r.INITIAL_MEMORY || 33554432
                    ;(T = r.wasmMemory
                      ? r.wasmMemory
                      : new WebAssembly.Memory({
                          initial: G / 65536,
                          maximum: 32768
                        })) && (P = T.buffer),
                      (G = P.byteLength),
                      Z(P)
                    var X,
                      Q,
                      V,
                      Y = new WebAssembly.Table({
                        initial: 20,
                        element: 'anyfunc'
                      }),
                      J = [],
                      ee = [],
                      te = [],
                      ne = [],
                      re = !1,
                      se = 0,
                      ie = null,
                      oe = null
                    function ae (e) {
                      se++,
                        r.monitorRunDependencies && r.monitorRunDependencies(se)
                    }
                    function le (e) {
                      if (
                        (se--,
                        r.monitorRunDependencies &&
                          r.monitorRunDependencies(se),
                        0 == se &&
                          (null !== ie && (clearInterval(ie), (ie = null)), oe))
                      ) {
                        var t = oe
                        ;(oe = null), t()
                      }
                    }
                    function ce (e) {
                      throw (r.onAbort && r.onAbort(e),
                      v((e += '')),
                      (I = !0),
                      (e =
                        'abort(' +
                        e +
                        '). Build with -s ASSERTIONS=1 for more info.'),
                      new WebAssembly.RuntimeError(e))
                    }
                    function ue (e) {
                      return e.startsWith(
                        'data:application/octet-stream;base64,'
                      )
                    }
                    function de (e) {
                      return e.startsWith('file://')
                    }
                    function pe (e) {
                      try {
                        if (e == X && S) return new Uint8Array(S)
                        if (g) return g(e)
                        throw 'both async and sync fetching of the wasm failed'
                      } catch (e) {
                        ce(e)
                      }
                    }
                    ;(r.preloadedImages = {}),
                      (r.preloadedAudios = {}),
                      (r.preloadedWasm = {}),
                      ue((X = 'tree-sitter.wasm')) ||
                        (X = (function (e) {
                          return r.locateFile ? r.locateFile(e, w) : w + e
                        })(X))
                    var he = {},
                      fe = {
                        get: function (e, t) {
                          return (
                            he[t] ||
                              (he[t] = new WebAssembly.Global({
                                value: 'i32',
                                mutable: !0
                              })),
                            he[t]
                          )
                        }
                      }
                    function me (e) {
                      for (; e.length > 0; ) {
                        var t = e.shift()
                        if ('function' != typeof t) {
                          var n = t.func
                          'number' == typeof n
                            ? void 0 === t.arg
                              ? Y.get(n)()
                              : Y.get(n)(t.arg)
                            : n(void 0 === t.arg ? null : t.arg)
                        } else t(r)
                      }
                    }
                    function _e (e) {
                      var t = 0
                      function n () {
                        for (var n = 0, r = 1; ; ) {
                          var s = e[t++]
                          if (((n += (127 & s) * r), (r *= 128), !(128 & s)))
                            break
                        }
                        return n
                      }
                      if (e instanceof WebAssembly.Module) {
                        var r = WebAssembly.Module.customSections(e, 'dylink')
                        L(0 != r.length, 'need dylink section'),
                          (e = new Int8Array(r[0]))
                      } else
                        L(
                          1836278016 ==
                            new Uint32Array(
                              new Uint8Array(e.subarray(0, 24)).buffer
                            )[0],
                          'need to see wasm magic number'
                        ),
                          L(0 === e[8], 'need the dylink section to be first'),
                          (t = 9),
                          n(),
                          L(6 === e[t]),
                          L(e[++t] === 'd'.charCodeAt(0)),
                          L(e[++t] === 'y'.charCodeAt(0)),
                          L(e[++t] === 'l'.charCodeAt(0)),
                          L(e[++t] === 'i'.charCodeAt(0)),
                          L(e[++t] === 'n'.charCodeAt(0)),
                          L(e[++t] === 'k'.charCodeAt(0)),
                          t++
                      var s = {}
                      ;(s.memorySize = n()),
                        (s.memoryAlign = n()),
                        (s.tableSize = n()),
                        (s.tableAlign = n())
                      var i = n()
                      s.neededDynlibs = []
                      for (var o = 0; o < i; ++o) {
                        var a = n(),
                          l = e.subarray(t, t + a)
                        t += a
                        var c = B(l, 0)
                        s.neededDynlibs.push(c)
                      }
                      return s
                    }
                    function ge () {
                      return N || !1
                    }
                    function be (e) {
                      return 0 == e.indexOf('dynCall_') ||
                        ['stackAlloc', 'stackSave', 'stackRestore'].includes(e)
                        ? e
                        : '_' + e
                    }
                    function ye (e, t) {
                      for (var n in e)
                        if (e.hasOwnProperty(n)) {
                          $e.hasOwnProperty(n) || ($e[n] = e[n])
                          var s = be(n)
                          r.hasOwnProperty(s) || (r[s] = e[n])
                        }
                    }
                    var we = {
                      nextHandle: 1,
                      loadedLibs: {},
                      loadedLibNames: {}
                    }
                    function ve (e, t, n) {
                      return e.includes('j')
                        ? (function (e, t, n) {
                            var s = r['dynCall_' + e]
                            return n && n.length
                              ? s.apply(null, [t].concat(n))
                              : s.call(null, t)
                          })(e, t, n)
                        : Y.get(t).apply(null, n)
                    }
                    var Ee = 5251072
                    function xe (e) {
                      return [
                        '__cpp_exception',
                        '__wasm_apply_data_relocs',
                        '__dso_handle',
                        '__set_stack_limits'
                      ].includes(e)
                    }
                    function Ae (e, t) {
                      var n = {}
                      for (var r in e) {
                        var s = e[r]
                        'object' == typeof s && (s = s.value),
                          'number' == typeof s && (s += t),
                          (n[r] = s)
                      }
                      return (
                        (function (e) {
                          for (var t in e)
                            if (!xe(t)) {
                              var n = !1,
                                r = e[t]
                              t.startsWith('orig$') &&
                                ((t = t.split('$')[1]), (n = !0)),
                                he[t] ||
                                  (he[t] = new WebAssembly.Global({
                                    value: 'i32',
                                    mutable: !0
                                  })),
                                (n || 0 == he[t].value) &&
                                  ('function' == typeof r
                                    ? (he[t].value = A(r))
                                    : 'number' == typeof r
                                    ? (he[t].value = r)
                                    : v(
                                        'unhandled export type for `' +
                                          t +
                                          '`: ' +
                                          typeof r
                                      ))
                            }
                        })(n),
                        n
                      )
                    }
                    function Se (e, t) {
                      var n, s
                      return (
                        t && (n = $e['orig$' + e]),
                        n || (n = $e[e]),
                        n || (n = r[be(e)]),
                        !n &&
                          e.startsWith('invoke_') &&
                          ((s = e.split('_')[1]),
                          (n = function () {
                            var e = He()
                            try {
                              return ve(
                                s,
                                arguments[0],
                                Array.prototype.slice.call(arguments, 1)
                              )
                            } catch (t) {
                              if ((We(e), t !== t + 0 && 'longjmp' !== t))
                                throw t
                              Ke(1, 0)
                            }
                          })),
                        n
                      )
                    }
                    function Ce (e, t) {
                      var n = _e(e)
                      function r () {
                        var r = Math.pow(2, n.memoryAlign)
                        r = Math.max(r, 16)
                        var s,
                          i,
                          o,
                          a =
                            ((s = (function (e) {
                              if (re) return Be(e)
                              var t = Ee,
                                n = (t + e + 15) & -16
                              return (Ee = n), (he.__heap_base.value = n), t
                            })(n.memorySize + r)),
                            (i = r) || (i = 16),
                            Math.ceil(s / i) * i),
                          l = Y.length
                        Y.grow(n.tableSize)
                        for (var c = a; c < a + n.memorySize; c++) R[c] = 0
                        for (c = l; c < l + n.tableSize; c++) Y.set(c, null)
                        var u = new Proxy(
                            {},
                            {
                              get: function (e, t) {
                                switch (t) {
                                  case '__memory_base':
                                    return a
                                  case '__table_base':
                                    return l
                                }
                                return t in $e
                                  ? $e[t]
                                  : (t in e ||
                                      (e[t] = function () {
                                        return (
                                          n ||
                                            (n = (function (e) {
                                              var t = Se(e, !1)
                                              return t || (t = o[e]), t
                                            })(t)),
                                          n.apply(null, arguments)
                                        )
                                      }),
                                    e[t])
                                var n
                              }
                            }
                          ),
                          d = {
                            'GOT.mem': new Proxy({}, fe),
                            'GOT.func': new Proxy({}, fe),
                            env: u,
                            wasi_snapshot_preview1: u
                          }
                        function p (e) {
                          for (var r = 0; r < n.tableSize; r++) {
                            var s = Y.get(l + r)
                            s && E.set(s, l + r)
                          }
                          ;(o = Ae(e.exports, a)), t.allowUndefined || Ne()
                          var i = o.__wasm_call_ctors
                          return (
                            i || (i = o.__post_instantiate),
                            i && (re ? i() : ee.push(i)),
                            o
                          )
                        }
                        if (t.loadAsync) {
                          if (e instanceof WebAssembly.Module) {
                            var h = new WebAssembly.Instance(e, d)
                            return Promise.resolve(p(h))
                          }
                          return WebAssembly.instantiate(e, d).then(function (
                            e
                          ) {
                            return p(e.instance)
                          })
                        }
                        var f =
                          e instanceof WebAssembly.Module
                            ? e
                            : new WebAssembly.Module(e)
                        return p((h = new WebAssembly.Instance(f, d)))
                      }
                      return t.loadAsync
                        ? n.neededDynlibs
                            .reduce(function (e, n) {
                              return e.then(function () {
                                return Te(n, t)
                              })
                            }, Promise.resolve())
                            .then(function () {
                              return r()
                            })
                        : (n.neededDynlibs.forEach(function (e) {
                            Te(e, t)
                          }),
                          r())
                    }
                    function Te (e, t) {
                      '__main__' != e ||
                        we.loadedLibNames[e] ||
                        ((we.loadedLibs[-1] = {
                          refcount: 1 / 0,
                          name: '__main__',
                          module: r.asm,
                          global: !0
                        }),
                        (we.loadedLibNames.__main__ = -1)),
                        (t = t || { global: !0, nodelete: !0 })
                      var n,
                        s = we.loadedLibNames[e]
                      if (s)
                        return (
                          (n = we.loadedLibs[s]),
                          t.global &&
                            !n.global &&
                            ((n.global = !0),
                            'loading' !== n.module && ye(n.module)),
                          t.nodelete &&
                            n.refcount !== 1 / 0 &&
                            (n.refcount = 1 / 0),
                          n.refcount++,
                          t.loadAsync ? Promise.resolve(s) : s
                        )
                      function i (e) {
                        if (t.fs) {
                          var n = t.fs.readFile(e, { encoding: 'binary' })
                          return (
                            n instanceof Uint8Array || (n = new Uint8Array(n)),
                            t.loadAsync ? Promise.resolve(n) : n
                          )
                        }
                        return t.loadAsync
                          ? ((r = e),
                            fetch(r, { credentials: 'same-origin' })
                              .then(function (e) {
                                if (!e.ok)
                                  throw "failed to load binary file at '" +
                                    r +
                                    "'"
                                return e.arrayBuffer()
                              })
                              .then(function (e) {
                                return new Uint8Array(e)
                              }))
                          : g(e)
                        var r
                      }
                      function o () {
                        if (
                          void 0 !== r.preloadedWasm &&
                          void 0 !== r.preloadedWasm[e]
                        ) {
                          var n = r.preloadedWasm[e]
                          return t.loadAsync ? Promise.resolve(n) : n
                        }
                        return t.loadAsync
                          ? i(e).then(function (e) {
                              return Ce(e, t)
                            })
                          : Ce(i(e), t)
                      }
                      function a (e) {
                        n.global && ye(e), (n.module = e)
                      }
                      return (
                        (s = we.nextHandle++),
                        (n = {
                          refcount: t.nodelete ? 1 / 0 : 1,
                          name: e,
                          module: 'loading',
                          global: t.global
                        }),
                        (we.loadedLibNames[e] = s),
                        (we.loadedLibs[s] = n),
                        t.loadAsync
                          ? o().then(function (e) {
                              return a(e), s
                            })
                          : (a(o()), s)
                      )
                    }
                    function Ne () {
                      for (var e in he)
                        if (0 == he[e].value) {
                          var t = Se(e, !0)
                          'function' == typeof t
                            ? (he[e].value = A(t, t.sig))
                            : 'number' == typeof t
                            ? (he[e].value = t)
                            : L(
                                !1,
                                'bad export type for `' + e + '`: ' + typeof t
                              )
                        }
                    }
                    r.___heap_base = Ee
                    var Oe,
                      ke = new WebAssembly.Global(
                        { value: 'i32', mutable: !0 },
                        5251072
                      )
                    function Ie () {
                      ce()
                    }
                    function Le (e, t) {
                      var n
                      if (0 === e) n = Date.now()
                      else {
                        if (1 !== e && 4 !== e) return (j[Ue() >> 2] = 28), -1
                        n = Oe()
                      }
                      return (
                        (j[t >> 2] = (n / 1e3) | 0),
                        (j[(t + 4) >> 2] = ((n % 1e3) * 1e3 * 1e3) | 0),
                        0
                      )
                    }
                    function Pe (e) {
                      try {
                        return (
                          T.grow((e - P.byteLength + 65535) >>> 16),
                          Z(T.buffer),
                          1
                        )
                      } catch (e) {}
                    }
                    function Re (e) {
                      Qe(e)
                    }
                    ;(r._abort = Ie),
                      (Ie.sig = 'v'),
                      (Oe = l
                        ? function () {
                            var e = process.hrtime()
                            return 1e3 * e[0] + e[1] / 1e6
                          }
                        : 'undefined' != typeof dateNow
                        ? dateNow
                        : function () {
                            return performance.now()
                          }),
                      (Le.sig = 'iii'),
                      (Re.sig = 'vi')
                    var Me = {
                      mappings: {},
                      DEFAULT_POLLMASK: 5,
                      umask: 511,
                      calculateAt: function (e, t, n) {
                        if ('/' === t[0]) return t
                        var r
                        if (-100 === e) r = FS.cwd()
                        else {
                          var s = FS.getStream(e)
                          if (!s) throw new FS.ErrnoError(8)
                          r = s.path
                        }
                        if (0 == t.length) {
                          if (!n) throw new FS.ErrnoError(44)
                          return r
                        }
                        return PATH.join2(r, t)
                      },
                      doStat: function (e, t, n) {
                        try {
                          var r = e(t)
                        } catch (e) {
                          if (
                            e &&
                            e.node &&
                            PATH.normalize(t) !==
                              PATH.normalize(FS.getPath(e.node))
                          )
                            return -54
                          throw e
                        }
                        return (
                          (j[n >> 2] = r.dev),
                          (j[(n + 4) >> 2] = 0),
                          (j[(n + 8) >> 2] = r.ino),
                          (j[(n + 12) >> 2] = r.mode),
                          (j[(n + 16) >> 2] = r.nlink),
                          (j[(n + 20) >> 2] = r.uid),
                          (j[(n + 24) >> 2] = r.gid),
                          (j[(n + 28) >> 2] = r.rdev),
                          (j[(n + 32) >> 2] = 0),
                          (V = [
                            r.size >>> 0,
                            ((Q = r.size),
                            +Math.abs(Q) >= 1
                              ? Q > 0
                                ? (0 |
                                    Math.min(
                                      +Math.floor(Q / 4294967296),
                                      4294967295
                                    )) >>>
                                  0
                                : ~~+Math.ceil(
                                    (Q - +(~~Q >>> 0)) / 4294967296
                                  ) >>> 0
                              : 0)
                          ]),
                          (j[(n + 40) >> 2] = V[0]),
                          (j[(n + 44) >> 2] = V[1]),
                          (j[(n + 48) >> 2] = 4096),
                          (j[(n + 52) >> 2] = r.blocks),
                          (j[(n + 56) >> 2] = (r.atime.getTime() / 1e3) | 0),
                          (j[(n + 60) >> 2] = 0),
                          (j[(n + 64) >> 2] = (r.mtime.getTime() / 1e3) | 0),
                          (j[(n + 68) >> 2] = 0),
                          (j[(n + 72) >> 2] = (r.ctime.getTime() / 1e3) | 0),
                          (j[(n + 76) >> 2] = 0),
                          (V = [
                            r.ino >>> 0,
                            ((Q = r.ino),
                            +Math.abs(Q) >= 1
                              ? Q > 0
                                ? (0 |
                                    Math.min(
                                      +Math.floor(Q / 4294967296),
                                      4294967295
                                    )) >>>
                                  0
                                : ~~+Math.ceil(
                                    (Q - +(~~Q >>> 0)) / 4294967296
                                  ) >>> 0
                              : 0)
                          ]),
                          (j[(n + 80) >> 2] = V[0]),
                          (j[(n + 84) >> 2] = V[1]),
                          0
                        )
                      },
                      doMsync: function (e, t, n, r, s) {
                        var i = M.slice(e, e + n)
                        FS.msync(t, i, s, n, r)
                      },
                      doMkdir: function (e, t) {
                        return (
                          '/' === (e = PATH.normalize(e))[e.length - 1] &&
                            (e = e.substr(0, e.length - 1)),
                          FS.mkdir(e, t, 0),
                          0
                        )
                      },
                      doMknod: function (e, t, n) {
                        switch (61440 & t) {
                          case 32768:
                          case 8192:
                          case 24576:
                          case 4096:
                          case 49152:
                            break
                          default:
                            return -28
                        }
                        return FS.mknod(e, t, n), 0
                      },
                      doReadlink: function (e, t, n) {
                        if (n <= 0) return -28
                        var r = FS.readlink(e),
                          s = Math.min(n, z(r)),
                          i = R[t + s]
                        return W(r, t, n + 1), (R[t + s] = i), s
                      },
                      doAccess: function (e, t) {
                        if (-8 & t) return -28
                        var n
                        if (!(n = FS.lookupPath(e, { follow: !0 }).node))
                          return -44
                        var r = ''
                        return (
                          4 & t && (r += 'r'),
                          2 & t && (r += 'w'),
                          1 & t && (r += 'x'),
                          r && FS.nodePermissions(n, r) ? -2 : 0
                        )
                      },
                      doDup: function (e, t, n) {
                        var r = FS.getStream(n)
                        return r && FS.close(r), FS.open(e, t, 0, n, n).fd
                      },
                      doReadv: function (e, t, n, r) {
                        for (var s = 0, i = 0; i < n; i++) {
                          var o = j[(t + 8 * i) >> 2],
                            a = j[(t + (8 * i + 4)) >> 2],
                            l = FS.read(e, R, o, a, r)
                          if (l < 0) return -1
                          if (((s += l), l < a)) break
                        }
                        return s
                      },
                      doWritev: function (e, t, n, r) {
                        for (var s = 0, i = 0; i < n; i++) {
                          var o = j[(t + 8 * i) >> 2],
                            a = j[(t + (8 * i + 4)) >> 2],
                            l = FS.write(e, R, o, a, r)
                          if (l < 0) return -1
                          s += l
                        }
                        return s
                      },
                      varargs: void 0,
                      get: function () {
                        return (Me.varargs += 4), j[(Me.varargs - 4) >> 2]
                      },
                      getStr: function (e) {
                        return U(e)
                      },
                      getStreamFromFD: function (e) {
                        var t = FS.getStream(e)
                        if (!t) throw new FS.ErrnoError(8)
                        return t
                      },
                      get64: function (e, t) {
                        return e
                      }
                    }
                    function De (e) {
                      try {
                        var t = Me.getStreamFromFD(e)
                        return FS.close(t), 0
                      } catch (e) {
                        return (
                          ('undefined' != typeof FS &&
                            e instanceof FS.ErrnoError) ||
                            ce(e),
                          e.errno
                        )
                      }
                    }
                    function je (e, t, n, r) {
                      try {
                        var s = Me.getStreamFromFD(e),
                          i = Me.doWritev(s, t, n)
                        return (j[r >> 2] = i), 0
                      } catch (e) {
                        return (
                          ('undefined' != typeof FS &&
                            e instanceof FS.ErrnoError) ||
                            ce(e),
                          e.errno
                        )
                      }
                    }
                    function Fe (e) {}
                    ;(De.sig = 'ii'), (je.sig = 'iiiii'), (Fe.sig = 'vi')
                    var qe,
                      $e = {
                        __heap_base: Ee,
                        __indirect_function_table: Y,
                        __memory_base: 1024,
                        __stack_pointer: ke,
                        __table_base: 1,
                        abort: Ie,
                        clock_gettime: Le,
                        emscripten_memcpy_big: function (e, t, n) {
                          M.copyWithin(e, t, t + n)
                        },
                        emscripten_resize_heap: function (e) {
                          var t,
                            n = M.length
                          if ((e >>>= 0) > 2147483648) return !1
                          for (var r = 1; r <= 4; r *= 2) {
                            var s = n * (1 + 0.2 / r)
                            if (
                              ((s = Math.min(s, e + 100663296)),
                              Pe(
                                Math.min(
                                  2147483648,
                                  ((t = Math.max(e, s)) % 65536 > 0 &&
                                    (t += 65536 - (t % 65536)),
                                  t)
                                )
                              ))
                            )
                              return !0
                          }
                          return !1
                        },
                        exit: Re,
                        fd_close: De,
                        fd_seek: function (e, t, n, r, s) {
                          try {
                            var i = Me.getStreamFromFD(e),
                              o = 4294967296 * n + (t >>> 0)
                            return o <= -9007199254740992 ||
                              o >= 9007199254740992
                              ? -61
                              : (FS.llseek(i, o, r),
                                (V = [
                                  i.position >>> 0,
                                  ((Q = i.position),
                                  +Math.abs(Q) >= 1
                                    ? Q > 0
                                      ? (0 |
                                          Math.min(
                                            +Math.floor(Q / 4294967296),
                                            4294967295
                                          )) >>>
                                        0
                                      : ~~+Math.ceil(
                                          (Q - +(~~Q >>> 0)) / 4294967296
                                        ) >>> 0
                                    : 0)
                                ]),
                                (j[s >> 2] = V[0]),
                                (j[(s + 4) >> 2] = V[1]),
                                i.getdents &&
                                  0 === o &&
                                  0 === r &&
                                  (i.getdents = null),
                                0)
                          } catch (e) {
                            return (
                              ('undefined' != typeof FS &&
                                e instanceof FS.ErrnoError) ||
                                ce(e),
                              e.errno
                            )
                          }
                        },
                        fd_write: je,
                        memory: T,
                        setTempRet0: Fe,
                        tree_sitter_log_callback: function (e, t) {
                          if (lt) {
                            const n = U(t)
                            lt(n, 0 !== e)
                          }
                        },
                        tree_sitter_parse_callback: function (e, t, n, r, s) {
                          var i = at(t, { row: n, column: r })
                          'string' == typeof i
                            ? (O(s, i.length, 'i32'),
                              (function (e, t, n) {
                                if ((void 0 === n && (n = 2147483647), n < 2))
                                  return 0
                                for (
                                  var r =
                                      (n -= 2) < 2 * e.length
                                        ? n / 2
                                        : e.length,
                                    s = 0;
                                  s < r;
                                  ++s
                                ) {
                                  var i = e.charCodeAt(s)
                                  ;(D[t >> 1] = i), (t += 2)
                                }
                                D[t >> 1] = 0
                              })(i, e, 10240))
                            : O(s, 0, 'i32')
                        }
                      },
                      Be =
                        ((function () {
                          var e = {
                            env: $e,
                            wasi_snapshot_preview1: $e,
                            'GOT.mem': new Proxy($e, fe),
                            'GOT.func': new Proxy($e, fe)
                          }
                          function t (e, t) {
                            var n = e.exports
                            ;(n = Ae(n, 1024)), (r.asm = n)
                            var s,
                              i = _e(t)
                            i.neededDynlibs && (C = i.neededDynlibs.concat(C)),
                              ye(n),
                              (s = r.asm.__wasm_call_ctors),
                              ee.unshift(s),
                              le()
                          }
                          function n (e) {
                            t(e.instance, e.module)
                          }
                          function s (t) {
                            return (function () {
                              if (!S && (u || d)) {
                                if ('function' == typeof fetch && !de(X))
                                  return fetch(X, {
                                    credentials: 'same-origin'
                                  })
                                    .then(function (e) {
                                      if (!e.ok)
                                        throw "failed to load wasm binary file at '" +
                                          X +
                                          "'"
                                      return e.arrayBuffer()
                                    })
                                    .catch(function () {
                                      return pe(X)
                                    })
                                if (_)
                                  return new Promise(function (e, t) {
                                    _(
                                      X,
                                      function (t) {
                                        e(new Uint8Array(t))
                                      },
                                      t
                                    )
                                  })
                              }
                              return Promise.resolve().then(function () {
                                return pe(X)
                              })
                            })()
                              .then(function (t) {
                                return WebAssembly.instantiate(t, e)
                              })
                              .then(t, function (e) {
                                v(
                                  'failed to asynchronously prepare wasm: ' + e
                                ),
                                  ce(e)
                              })
                          }
                          if ((ae(), r.instantiateWasm))
                            try {
                              return r.instantiateWasm(e, t)
                            } catch (e) {
                              return (
                                v(
                                  'Module.instantiateWasm callback failed with error: ' +
                                    e
                                ),
                                !1
                              )
                            }
                          S ||
                          'function' !=
                            typeof WebAssembly.instantiateStreaming ||
                          ue(X) ||
                          de(X) ||
                          'function' != typeof fetch
                            ? s(n)
                            : fetch(X, { credentials: 'same-origin' }).then(
                                function (t) {
                                  return WebAssembly.instantiateStreaming(
                                    t,
                                    e
                                  ).then(n, function (e) {
                                    return (
                                      v('wasm streaming compile failed: ' + e),
                                      v(
                                        'falling back to ArrayBuffer instantiation'
                                      ),
                                      s(n)
                                    )
                                  })
                                }
                              )
                        })(),
                        (r.___wasm_call_ctors = function () {
                          return (r.___wasm_call_ctors =
                            r.asm.__wasm_call_ctors).apply(null, arguments)
                        }),
                        (r._malloc = function () {
                          return (Be = r._malloc = r.asm.malloc).apply(
                            null,
                            arguments
                          )
                        })),
                      Ue =
                        ((r._calloc = function () {
                          return (r._calloc = r.asm.calloc).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._realloc = function () {
                          return (r._realloc = r.asm.realloc).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._free = function () {
                          return (r._free = r.asm.free).apply(null, arguments)
                        }),
                        (r._ts_language_symbol_count = function () {
                          return (r._ts_language_symbol_count =
                            r.asm.ts_language_symbol_count).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_version = function () {
                          return (r._ts_language_version =
                            r.asm.ts_language_version).apply(null, arguments)
                        }),
                        (r._ts_language_field_count = function () {
                          return (r._ts_language_field_count =
                            r.asm.ts_language_field_count).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_symbol_name = function () {
                          return (r._ts_language_symbol_name =
                            r.asm.ts_language_symbol_name).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_symbol_for_name = function () {
                          return (r._ts_language_symbol_for_name =
                            r.asm.ts_language_symbol_for_name).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_symbol_type = function () {
                          return (r._ts_language_symbol_type =
                            r.asm.ts_language_symbol_type).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_field_name_for_id = function () {
                          return (r._ts_language_field_name_for_id =
                            r.asm.ts_language_field_name_for_id).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._memcpy = function () {
                          return (r._memcpy = r.asm.memcpy).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_parser_delete = function () {
                          return (r._ts_parser_delete =
                            r.asm.ts_parser_delete).apply(null, arguments)
                        }),
                        (r._ts_parser_reset = function () {
                          return (r._ts_parser_reset =
                            r.asm.ts_parser_reset).apply(null, arguments)
                        }),
                        (r._ts_parser_set_language = function () {
                          return (r._ts_parser_set_language =
                            r.asm.ts_parser_set_language).apply(null, arguments)
                        }),
                        (r._ts_parser_timeout_micros = function () {
                          return (r._ts_parser_timeout_micros =
                            r.asm.ts_parser_timeout_micros).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_parser_set_timeout_micros = function () {
                          return (r._ts_parser_set_timeout_micros =
                            r.asm.ts_parser_set_timeout_micros).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._memmove = function () {
                          return (r._memmove = r.asm.memmove).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._memcmp = function () {
                          return (r._memcmp = r.asm.memcmp).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_new = function () {
                          return (r._ts_query_new = r.asm.ts_query_new).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_delete = function () {
                          return (r._ts_query_delete =
                            r.asm.ts_query_delete).apply(null, arguments)
                        }),
                        (r._iswspace = function () {
                          return (r._iswspace = r.asm.iswspace).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._iswalnum = function () {
                          return (r._iswalnum = r.asm.iswalnum).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_pattern_count = function () {
                          return (r._ts_query_pattern_count =
                            r.asm.ts_query_pattern_count).apply(null, arguments)
                        }),
                        (r._ts_query_capture_count = function () {
                          return (r._ts_query_capture_count =
                            r.asm.ts_query_capture_count).apply(null, arguments)
                        }),
                        (r._ts_query_string_count = function () {
                          return (r._ts_query_string_count =
                            r.asm.ts_query_string_count).apply(null, arguments)
                        }),
                        (r._ts_query_capture_name_for_id = function () {
                          return (r._ts_query_capture_name_for_id =
                            r.asm.ts_query_capture_name_for_id).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_string_value_for_id = function () {
                          return (r._ts_query_string_value_for_id =
                            r.asm.ts_query_string_value_for_id).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_predicates_for_pattern = function () {
                          return (r._ts_query_predicates_for_pattern =
                            r.asm.ts_query_predicates_for_pattern).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_copy = function () {
                          return (r._ts_tree_copy = r.asm.ts_tree_copy).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_delete = function () {
                          return (r._ts_tree_delete =
                            r.asm.ts_tree_delete).apply(null, arguments)
                        }),
                        (r._ts_init = function () {
                          return (r._ts_init = r.asm.ts_init).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_parser_new_wasm = function () {
                          return (r._ts_parser_new_wasm =
                            r.asm.ts_parser_new_wasm).apply(null, arguments)
                        }),
                        (r._ts_parser_enable_logger_wasm = function () {
                          return (r._ts_parser_enable_logger_wasm =
                            r.asm.ts_parser_enable_logger_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_parser_parse_wasm = function () {
                          return (r._ts_parser_parse_wasm =
                            r.asm.ts_parser_parse_wasm).apply(null, arguments)
                        }),
                        (r._ts_language_type_is_named_wasm = function () {
                          return (r._ts_language_type_is_named_wasm =
                            r.asm.ts_language_type_is_named_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_language_type_is_visible_wasm = function () {
                          return (r._ts_language_type_is_visible_wasm =
                            r.asm.ts_language_type_is_visible_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_root_node_wasm = function () {
                          return (r._ts_tree_root_node_wasm =
                            r.asm.ts_tree_root_node_wasm).apply(null, arguments)
                        }),
                        (r._ts_tree_edit_wasm = function () {
                          return (r._ts_tree_edit_wasm =
                            r.asm.ts_tree_edit_wasm).apply(null, arguments)
                        }),
                        (r._ts_tree_get_changed_ranges_wasm = function () {
                          return (r._ts_tree_get_changed_ranges_wasm =
                            r.asm.ts_tree_get_changed_ranges_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_new_wasm = function () {
                          return (r._ts_tree_cursor_new_wasm =
                            r.asm.ts_tree_cursor_new_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_delete_wasm = function () {
                          return (r._ts_tree_cursor_delete_wasm =
                            r.asm.ts_tree_cursor_delete_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_reset_wasm = function () {
                          return (r._ts_tree_cursor_reset_wasm =
                            r.asm.ts_tree_cursor_reset_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_goto_first_child_wasm = function () {
                          return (r._ts_tree_cursor_goto_first_child_wasm =
                            r.asm.ts_tree_cursor_goto_first_child_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_goto_next_sibling_wasm = function () {
                          return (r._ts_tree_cursor_goto_next_sibling_wasm =
                            r.asm.ts_tree_cursor_goto_next_sibling_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_goto_parent_wasm = function () {
                          return (r._ts_tree_cursor_goto_parent_wasm =
                            r.asm.ts_tree_cursor_goto_parent_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_node_type_id_wasm = function () {
                          return (r._ts_tree_cursor_current_node_type_id_wasm =
                            r.asm.ts_tree_cursor_current_node_type_id_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_node_is_named_wasm = function () {
                          return (r._ts_tree_cursor_current_node_is_named_wasm =
                            r.asm.ts_tree_cursor_current_node_is_named_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_node_is_missing_wasm = function () {
                          return (r._ts_tree_cursor_current_node_is_missing_wasm =
                            r.asm.ts_tree_cursor_current_node_is_missing_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_node_id_wasm = function () {
                          return (r._ts_tree_cursor_current_node_id_wasm =
                            r.asm.ts_tree_cursor_current_node_id_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_start_position_wasm = function () {
                          return (r._ts_tree_cursor_start_position_wasm =
                            r.asm.ts_tree_cursor_start_position_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_end_position_wasm = function () {
                          return (r._ts_tree_cursor_end_position_wasm =
                            r.asm.ts_tree_cursor_end_position_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_start_index_wasm = function () {
                          return (r._ts_tree_cursor_start_index_wasm =
                            r.asm.ts_tree_cursor_start_index_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_end_index_wasm = function () {
                          return (r._ts_tree_cursor_end_index_wasm =
                            r.asm.ts_tree_cursor_end_index_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_field_id_wasm = function () {
                          return (r._ts_tree_cursor_current_field_id_wasm =
                            r.asm.ts_tree_cursor_current_field_id_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_tree_cursor_current_node_wasm = function () {
                          return (r._ts_tree_cursor_current_node_wasm =
                            r.asm.ts_tree_cursor_current_node_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_symbol_wasm = function () {
                          return (r._ts_node_symbol_wasm =
                            r.asm.ts_node_symbol_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_child_count_wasm = function () {
                          return (r._ts_node_child_count_wasm =
                            r.asm.ts_node_child_count_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_named_child_count_wasm = function () {
                          return (r._ts_node_named_child_count_wasm =
                            r.asm.ts_node_named_child_count_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_child_wasm = function () {
                          return (r._ts_node_child_wasm =
                            r.asm.ts_node_child_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_named_child_wasm = function () {
                          return (r._ts_node_named_child_wasm =
                            r.asm.ts_node_named_child_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_child_by_field_id_wasm = function () {
                          return (r._ts_node_child_by_field_id_wasm =
                            r.asm.ts_node_child_by_field_id_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_next_sibling_wasm = function () {
                          return (r._ts_node_next_sibling_wasm =
                            r.asm.ts_node_next_sibling_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_prev_sibling_wasm = function () {
                          return (r._ts_node_prev_sibling_wasm =
                            r.asm.ts_node_prev_sibling_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_next_named_sibling_wasm = function () {
                          return (r._ts_node_next_named_sibling_wasm =
                            r.asm.ts_node_next_named_sibling_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_prev_named_sibling_wasm = function () {
                          return (r._ts_node_prev_named_sibling_wasm =
                            r.asm.ts_node_prev_named_sibling_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_parent_wasm = function () {
                          return (r._ts_node_parent_wasm =
                            r.asm.ts_node_parent_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_descendant_for_index_wasm = function () {
                          return (r._ts_node_descendant_for_index_wasm =
                            r.asm.ts_node_descendant_for_index_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_named_descendant_for_index_wasm = function () {
                          return (r._ts_node_named_descendant_for_index_wasm =
                            r.asm.ts_node_named_descendant_for_index_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_descendant_for_position_wasm = function () {
                          return (r._ts_node_descendant_for_position_wasm =
                            r.asm.ts_node_descendant_for_position_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_named_descendant_for_position_wasm = function () {
                          return (r._ts_node_named_descendant_for_position_wasm =
                            r.asm.ts_node_named_descendant_for_position_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_start_point_wasm = function () {
                          return (r._ts_node_start_point_wasm =
                            r.asm.ts_node_start_point_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_end_point_wasm = function () {
                          return (r._ts_node_end_point_wasm =
                            r.asm.ts_node_end_point_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_start_index_wasm = function () {
                          return (r._ts_node_start_index_wasm =
                            r.asm.ts_node_start_index_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_end_index_wasm = function () {
                          return (r._ts_node_end_index_wasm =
                            r.asm.ts_node_end_index_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_to_string_wasm = function () {
                          return (r._ts_node_to_string_wasm =
                            r.asm.ts_node_to_string_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_children_wasm = function () {
                          return (r._ts_node_children_wasm =
                            r.asm.ts_node_children_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_named_children_wasm = function () {
                          return (r._ts_node_named_children_wasm =
                            r.asm.ts_node_named_children_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_descendants_of_type_wasm = function () {
                          return (r._ts_node_descendants_of_type_wasm =
                            r.asm.ts_node_descendants_of_type_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_is_named_wasm = function () {
                          return (r._ts_node_is_named_wasm =
                            r.asm.ts_node_is_named_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_has_changes_wasm = function () {
                          return (r._ts_node_has_changes_wasm =
                            r.asm.ts_node_has_changes_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_node_has_error_wasm = function () {
                          return (r._ts_node_has_error_wasm =
                            r.asm.ts_node_has_error_wasm).apply(null, arguments)
                        }),
                        (r._ts_node_is_missing_wasm = function () {
                          return (r._ts_node_is_missing_wasm =
                            r.asm.ts_node_is_missing_wasm).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._ts_query_matches_wasm = function () {
                          return (r._ts_query_matches_wasm =
                            r.asm.ts_query_matches_wasm).apply(null, arguments)
                        }),
                        (r._ts_query_captures_wasm = function () {
                          return (r._ts_query_captures_wasm =
                            r.asm.ts_query_captures_wasm).apply(null, arguments)
                        }),
                        (r._iswdigit = function () {
                          return (r._iswdigit = r.asm.iswdigit).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._iswalpha = function () {
                          return (r._iswalpha = r.asm.iswalpha).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._iswlower = function () {
                          return (r._iswlower = r.asm.iswlower).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._towupper = function () {
                          return (r._towupper = r.asm.towupper).apply(
                            null,
                            arguments
                          )
                        }),
                        (r.___errno_location = function () {
                          return (Ue = r.___errno_location =
                            r.asm.__errno_location).apply(null, arguments)
                        })),
                      He =
                        ((r._memchr = function () {
                          return (r._memchr = r.asm.memchr).apply(
                            null,
                            arguments
                          )
                        }),
                        (r._strlen = function () {
                          return (r._strlen = r.asm.strlen).apply(
                            null,
                            arguments
                          )
                        }),
                        (r.stackSave = function () {
                          return (He = r.stackSave = r.asm.stackSave).apply(
                            null,
                            arguments
                          )
                        })),
                      We = (r.stackRestore = function () {
                        return (We = r.stackRestore = r.asm.stackRestore).apply(
                          null,
                          arguments
                        )
                      }),
                      ze = (r.stackAlloc = function () {
                        return (ze = r.stackAlloc = r.asm.stackAlloc).apply(
                          null,
                          arguments
                        )
                      }),
                      Ke = (r._setThrew = function () {
                        return (Ke = r._setThrew = r.asm.setThrew).apply(
                          null,
                          arguments
                        )
                      })
                    function Ze (e) {
                      ;(this.name = 'ExitStatus'),
                        (this.message =
                          'Program terminated with exit(' + e + ')'),
                        (this.status = e)
                    }
                    ;(r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev = function () {
                      return (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev =
                        r.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev).apply(
                        null,
                        arguments
                      )
                    }),
                      (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm = function () {
                        return (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm =
                          r.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm = function () {
                        return (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm =
                          r.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm = function () {
                        return (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm =
                          r.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm = function () {
                        return (r.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm =
                          r.asm._ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc = function () {
                        return (r.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc =
                          r.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev = function () {
                        return (r.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev =
                          r.asm._ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw = function () {
                        return (r.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw =
                          r.asm._ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.__Znwm = function () {
                        return (r.__Znwm = r.asm._Znwm).apply(null, arguments)
                      }),
                      (r.__ZdlPv = function () {
                        return (r.__ZdlPv = r.asm._ZdlPv).apply(null, arguments)
                      }),
                      (r.dynCall_jiji = function () {
                        return (r.dynCall_jiji = r.asm.dynCall_jiji).apply(
                          null,
                          arguments
                        )
                      }),
                      (r._orig$ts_parser_timeout_micros = function () {
                        return (r._orig$ts_parser_timeout_micros =
                          r.asm.orig$ts_parser_timeout_micros).apply(
                          null,
                          arguments
                        )
                      }),
                      (r._orig$ts_parser_set_timeout_micros = function () {
                        return (r._orig$ts_parser_set_timeout_micros =
                          r.asm.orig$ts_parser_set_timeout_micros).apply(
                          null,
                          arguments
                        )
                      }),
                      (r.allocate = function (e, t) {
                        var n
                        return (
                          (n = 1 == t ? ze(e.length) : Be(e.length)),
                          e.subarray || e.slice
                            ? M.set(e, n)
                            : M.set(new Uint8Array(e), n),
                          n
                        )
                      }),
                      (oe = function e () {
                        qe || Xe(), qe || (oe = e)
                      })
                    var Ge = !1
                    function Xe (e) {
                      function t () {
                        qe ||
                          ((qe = !0),
                          (r.calledRun = !0),
                          I ||
                            ((re = !0),
                            me(ee),
                            me(te),
                            r.onRuntimeInitialized && r.onRuntimeInitialized(),
                            Ve &&
                              (function (e) {
                                var t = r._main
                                if (t) {
                                  var n = (e = e || []).length + 1,
                                    s = ze(4 * (n + 1))
                                  j[s >> 2] = K(h)
                                  for (var i = 1; i < n; i++)
                                    j[(s >> 2) + i] = K(e[i - 1])
                                  j[(s >> 2) + n] = 0
                                  try {
                                    Qe(t(n, s), !0)
                                  } catch (e) {
                                    if (e instanceof Ze) return
                                    if ('unwind' == e) return
                                    var o = e
                                    e &&
                                      'object' == typeof e &&
                                      e.stack &&
                                      (o = [e, e.stack]),
                                      v('exception thrown: ' + o),
                                      f(1, e)
                                  }
                                }
                              })(e),
                            (function () {
                              if (r.postRun)
                                for (
                                  'function' == typeof r.postRun &&
                                  (r.postRun = [r.postRun]);
                                  r.postRun.length;

                                )
                                  (e = r.postRun.shift()), ne.unshift(e)
                              var e
                              me(ne)
                            })()))
                      }
                      ;(e = e || p),
                        se > 0 ||
                          (!Ge &&
                            ((function () {
                              if (C.length) {
                                if (!g)
                                  return (
                                    ae(),
                                    void C.reduce(function (e, t) {
                                      return e.then(function () {
                                        return Te(t, {
                                          loadAsync: !0,
                                          global: !0,
                                          nodelete: !0,
                                          allowUndefined: !0
                                        })
                                      })
                                    }, Promise.resolve()).then(function () {
                                      le(), Ne()
                                    })
                                  )
                                C.forEach(function (e) {
                                  Te(e, {
                                    global: !0,
                                    nodelete: !0,
                                    allowUndefined: !0
                                  })
                                }),
                                  Ne()
                              } else Ne()
                            })(),
                            (Ge = !0),
                            se > 0)) ||
                          ((function () {
                            if (r.preRun)
                              for (
                                'function' == typeof r.preRun &&
                                (r.preRun = [r.preRun]);
                                r.preRun.length;

                              )
                                (e = r.preRun.shift()), J.unshift(e)
                            var e
                            me(J)
                          })(),
                          se > 0 ||
                            (r.setStatus
                              ? (r.setStatus('Running...'),
                                setTimeout(function () {
                                  setTimeout(function () {
                                    r.setStatus('')
                                  }, 1),
                                    t()
                                }, 1))
                              : t()))
                    }
                    function Qe (e, t) {
                      ;(t && ge() && 0 === e) ||
                        (ge() || (r.onExit && r.onExit(e), (I = !0)),
                        f(e, new Ze(e)))
                    }
                    if (((r.run = Xe), r.preInit))
                      for (
                        'function' == typeof r.preInit &&
                        (r.preInit = [r.preInit]);
                        r.preInit.length > 0;

                      )
                        r.preInit.pop()()
                    var Ve = !0
                    r.noInitialRun && (Ve = !1), Xe()
                    const Ye = r,
                      Je = {},
                      et = 20,
                      tt = { row: 0, column: 0 },
                      nt = /[\w-.]*/g,
                      rt = /^_?tree_sitter_\w+/
                    var st, it, ot, at, lt
                    class ct {
                      static init () {
                        ;(ot = Ye._ts_init()),
                          (st = k(ot, 'i32')),
                          (it = k(ot + 4, 'i32'))
                      }
                      initialize () {
                        Ye._ts_parser_new_wasm(),
                          (this[0] = k(ot, 'i32')),
                          (this[1] = k(ot + 4, 'i32'))
                      }
                      delete () {
                        Ye._ts_parser_delete(this[0]),
                          Ye._free(this[1]),
                          (this[0] = 0),
                          (this[1] = 0)
                      }
                      setLanguage (e) {
                        let t
                        if (e) {
                          if (e.constructor !== ht)
                            throw new Error('Argument must be a Language')
                          {
                            t = e[0]
                            const n = Ye._ts_language_version(t)
                            if (n < it || st < n)
                              throw new Error(
                                `Incompatible language version ${n}. Compatibility range ${it} through ${st}.`
                              )
                          }
                        } else (t = 0), (e = null)
                        return (
                          (this.language = e),
                          Ye._ts_parser_set_language(this[0], t),
                          this
                        )
                      }
                      getLanguage () {
                        return this.language
                      }
                      parse (e, t, n) {
                        if ('string' == typeof e)
                          at = (t, n, r) => e.slice(t, r)
                        else {
                          if ('function' != typeof e)
                            throw new Error(
                              'Argument must be a string or a function'
                            )
                          at = e
                        }
                        this.logCallback
                          ? ((lt = this.logCallback),
                            Ye._ts_parser_enable_logger_wasm(this[0], 1))
                          : ((lt = null),
                            Ye._ts_parser_enable_logger_wasm(this[0], 0))
                        let r = 0,
                          s = 0
                        if (n && n.includedRanges) {
                          r = n.includedRanges.length
                          let e = (s = Ye._calloc(r, 24))
                          for (let t = 0; t < r; t++)
                            St(e, n.includedRanges[t]), (e += 24)
                        }
                        const i = Ye._ts_parser_parse_wasm(
                          this[0],
                          this[1],
                          t ? t[0] : 0,
                          s,
                          r
                        )
                        if (!i)
                          throw ((at = null),
                          (lt = null),
                          new Error('Parsing failed'))
                        const o = new ut(Je, i, this.language, at)
                        return (at = null), (lt = null), o
                      }
                      reset () {
                        Ye._ts_parser_reset(this[0])
                      }
                      setTimeoutMicros (e) {
                        Ye._ts_parser_set_timeout_micros(this[0], e)
                      }
                      getTimeoutMicros () {
                        return Ye._ts_parser_timeout_micros(this[0])
                      }
                      setLogger (e) {
                        if (e) {
                          if ('function' != typeof e)
                            throw new Error(
                              'Logger callback must be a function'
                            )
                        } else e = null
                        return (this.logCallback = e), this
                      }
                      getLogger () {
                        return this.logCallback
                      }
                    }
                    class ut {
                      constructor (e, t, n, r) {
                        gt(e),
                          (this[0] = t),
                          (this.language = n),
                          (this.textCallback = r)
                      }
                      copy () {
                        const e = Ye._ts_tree_copy(this[0])
                        return new ut(Je, e, this.language, this.textCallback)
                      }
                      delete () {
                        Ye._ts_tree_delete(this[0]), (this[0] = 0)
                      }
                      edit (e) {
                        !(function (e) {
                          let t = ot
                          xt(t, e.startPosition),
                            xt((t += 8), e.oldEndPosition),
                            xt((t += 8), e.newEndPosition),
                            O((t += 8), e.startIndex, 'i32'),
                            O((t += 4), e.oldEndIndex, 'i32'),
                            O((t += 4), e.newEndIndex, 'i32'),
                            (t += 4)
                        })(e),
                          Ye._ts_tree_edit_wasm(this[0])
                      }
                      get rootNode () {
                        return Ye._ts_tree_root_node_wasm(this[0]), wt(this)
                      }
                      getLanguage () {
                        return this.language
                      }
                      walk () {
                        return this.rootNode.walk()
                      }
                      getChangedRanges (e) {
                        if (e.constructor !== ut)
                          throw new TypeError('Argument must be a Tree')
                        Ye._ts_tree_get_changed_ranges_wasm(this[0], e[0])
                        const t = k(ot, 'i32'),
                          n = k(ot + 4, 'i32'),
                          r = new Array(t)
                        if (t > 0) {
                          let e = n
                          for (let n = 0; n < t; n++) (r[n] = Ct(e)), (e += 24)
                          Ye._free(n)
                        }
                        return r
                      }
                    }
                    class dt {
                      constructor (e, t) {
                        gt(e), (this.tree = t)
                      }
                      get typeId () {
                        return yt(this), Ye._ts_node_symbol_wasm(this.tree[0])
                      }
                      get type () {
                        return this.tree.language.types[this.typeId] || 'ERROR'
                      }
                      get endPosition () {
                        return (
                          yt(this),
                          Ye._ts_node_end_point_wasm(this.tree[0]),
                          At(ot)
                        )
                      }
                      get endIndex () {
                        return (
                          yt(this), Ye._ts_node_end_index_wasm(this.tree[0])
                        )
                      }
                      get text () {
                        return mt(this.tree, this.startIndex, this.endIndex)
                      }
                      isNamed () {
                        return (
                          yt(this),
                          1 === Ye._ts_node_is_named_wasm(this.tree[0])
                        )
                      }
                      hasError () {
                        return (
                          yt(this),
                          1 === Ye._ts_node_has_error_wasm(this.tree[0])
                        )
                      }
                      hasChanges () {
                        return (
                          yt(this),
                          1 === Ye._ts_node_has_changes_wasm(this.tree[0])
                        )
                      }
                      isMissing () {
                        return (
                          yt(this),
                          1 === Ye._ts_node_is_missing_wasm(this.tree[0])
                        )
                      }
                      equals (e) {
                        return this.id === e.id
                      }
                      child (e) {
                        return (
                          yt(this),
                          Ye._ts_node_child_wasm(this.tree[0], e),
                          wt(this.tree)
                        )
                      }
                      namedChild (e) {
                        return (
                          yt(this),
                          Ye._ts_node_named_child_wasm(this.tree[0], e),
                          wt(this.tree)
                        )
                      }
                      childForFieldId (e) {
                        return (
                          yt(this),
                          Ye._ts_node_child_by_field_id_wasm(this.tree[0], e),
                          wt(this.tree)
                        )
                      }
                      childForFieldName (e) {
                        const t = this.tree.language.fields.indexOf(e)
                        if (-1 !== t) return this.childForFieldId(t)
                      }
                      get childCount () {
                        return (
                          yt(this), Ye._ts_node_child_count_wasm(this.tree[0])
                        )
                      }
                      get namedChildCount () {
                        return (
                          yt(this),
                          Ye._ts_node_named_child_count_wasm(this.tree[0])
                        )
                      }
                      get firstChild () {
                        return this.child(0)
                      }
                      get firstNamedChild () {
                        return this.namedChild(0)
                      }
                      get lastChild () {
                        return this.child(this.childCount - 1)
                      }
                      get lastNamedChild () {
                        return this.namedChild(this.namedChildCount - 1)
                      }
                      get children () {
                        if (!this._children) {
                          yt(this), Ye._ts_node_children_wasm(this.tree[0])
                          const e = k(ot, 'i32'),
                            t = k(ot + 4, 'i32')
                          if (((this._children = new Array(e)), e > 0)) {
                            let n = t
                            for (let t = 0; t < e; t++)
                              (this._children[t] = wt(this.tree, n)), (n += et)
                            Ye._free(t)
                          }
                        }
                        return this._children
                      }
                      get namedChildren () {
                        if (!this._namedChildren) {
                          yt(this),
                            Ye._ts_node_named_children_wasm(this.tree[0])
                          const e = k(ot, 'i32'),
                            t = k(ot + 4, 'i32')
                          if (((this._namedChildren = new Array(e)), e > 0)) {
                            let n = t
                            for (let t = 0; t < e; t++)
                              (this._namedChildren[t] = wt(this.tree, n)),
                                (n += et)
                            Ye._free(t)
                          }
                        }
                        return this._namedChildren
                      }
                      descendantsOfType (e, t, n) {
                        Array.isArray(e) || (e = [e]),
                          t || (t = tt),
                          n || (n = tt)
                        const r = [],
                          s = this.tree.language.types
                        for (let t = 0, n = s.length; t < n; t++)
                          e.includes(s[t]) && r.push(t)
                        const i = Ye._malloc(4 * r.length)
                        for (let e = 0, t = r.length; e < t; e++)
                          O(i + 4 * e, r[e], 'i32')
                        yt(this),
                          Ye._ts_node_descendants_of_type_wasm(
                            this.tree[0],
                            i,
                            r.length,
                            t.row,
                            t.column,
                            n.row,
                            n.column
                          )
                        const o = k(ot, 'i32'),
                          a = k(ot + 4, 'i32'),
                          l = new Array(o)
                        if (o > 0) {
                          let e = a
                          for (let t = 0; t < o; t++)
                            (l[t] = wt(this.tree, e)), (e += et)
                        }
                        return Ye._free(a), Ye._free(i), l
                      }
                      get nextSibling () {
                        return (
                          yt(this),
                          Ye._ts_node_next_sibling_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      get previousSibling () {
                        return (
                          yt(this),
                          Ye._ts_node_prev_sibling_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      get nextNamedSibling () {
                        return (
                          yt(this),
                          Ye._ts_node_next_named_sibling_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      get previousNamedSibling () {
                        return (
                          yt(this),
                          Ye._ts_node_prev_named_sibling_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      get parent () {
                        return (
                          yt(this),
                          Ye._ts_node_parent_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      descendantForIndex (e, t = e) {
                        if ('number' != typeof e || 'number' != typeof t)
                          throw new Error('Arguments must be numbers')
                        yt(this)
                        let n = ot + et
                        return (
                          O(n, e, 'i32'),
                          O(n + 4, t, 'i32'),
                          Ye._ts_node_descendant_for_index_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      namedDescendantForIndex (e, t = e) {
                        if ('number' != typeof e || 'number' != typeof t)
                          throw new Error('Arguments must be numbers')
                        yt(this)
                        let n = ot + et
                        return (
                          O(n, e, 'i32'),
                          O(n + 4, t, 'i32'),
                          Ye._ts_node_named_descendant_for_index_wasm(
                            this.tree[0]
                          ),
                          wt(this.tree)
                        )
                      }
                      descendantForPosition (e, t = e) {
                        if (!bt(e) || !bt(t))
                          throw new Error(
                            'Arguments must be {row, column} objects'
                          )
                        yt(this)
                        let n = ot + et
                        return (
                          xt(n, e),
                          xt(n + 8, t),
                          Ye._ts_node_descendant_for_position_wasm(
                            this.tree[0]
                          ),
                          wt(this.tree)
                        )
                      }
                      namedDescendantForPosition (e, t = e) {
                        if (!bt(e) || !bt(t))
                          throw new Error(
                            'Arguments must be {row, column} objects'
                          )
                        yt(this)
                        let n = ot + et
                        return (
                          xt(n, e),
                          xt(n + 8, t),
                          Ye._ts_node_named_descendant_for_position_wasm(
                            this.tree[0]
                          ),
                          wt(this.tree)
                        )
                      }
                      walk () {
                        return (
                          yt(this),
                          Ye._ts_tree_cursor_new_wasm(this.tree[0]),
                          new pt(Je, this.tree)
                        )
                      }
                      toString () {
                        yt(this)
                        const e = Ye._ts_node_to_string_wasm(this.tree[0]),
                          t = (function (e) {
                            for (var t = ''; ; ) {
                              var n = M[e++ >> 0]
                              if (!n) return t
                              t += String.fromCharCode(n)
                            }
                          })(e)
                        return Ye._free(e), t
                      }
                    }
                    class pt {
                      constructor (e, t) {
                        gt(e), (this.tree = t), Et(this)
                      }
                      delete () {
                        vt(this),
                          Ye._ts_tree_cursor_delete_wasm(this.tree[0]),
                          (this[0] = this[1] = this[2] = 0)
                      }
                      reset (e) {
                        yt(e),
                          vt(this, ot + et),
                          Ye._ts_tree_cursor_reset_wasm(this.tree[0]),
                          Et(this)
                      }
                      get nodeType () {
                        return (
                          this.tree.language.types[this.nodeTypeId] || 'ERROR'
                        )
                      }
                      get nodeTypeId () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_current_node_type_id_wasm(
                            this.tree[0]
                          )
                        )
                      }
                      get nodeId () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_current_node_id_wasm(this.tree[0])
                        )
                      }
                      get nodeIsNamed () {
                        return (
                          vt(this),
                          1 ===
                            Ye._ts_tree_cursor_current_node_is_named_wasm(
                              this.tree[0]
                            )
                        )
                      }
                      get nodeIsMissing () {
                        return (
                          vt(this),
                          1 ===
                            Ye._ts_tree_cursor_current_node_is_missing_wasm(
                              this.tree[0]
                            )
                        )
                      }
                      get nodeText () {
                        vt(this)
                        const e = Ye._ts_tree_cursor_start_index_wasm(
                            this.tree[0]
                          ),
                          t = Ye._ts_tree_cursor_end_index_wasm(this.tree[0])
                        return mt(this.tree, e, t)
                      }
                      get startPosition () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_start_position_wasm(this.tree[0]),
                          At(ot)
                        )
                      }
                      get endPosition () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_end_position_wasm(this.tree[0]),
                          At(ot)
                        )
                      }
                      get startIndex () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_start_index_wasm(this.tree[0])
                        )
                      }
                      get endIndex () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_end_index_wasm(this.tree[0])
                        )
                      }
                      currentNode () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_current_node_wasm(this.tree[0]),
                          wt(this.tree)
                        )
                      }
                      currentFieldId () {
                        return (
                          vt(this),
                          Ye._ts_tree_cursor_current_field_id_wasm(this.tree[0])
                        )
                      }
                      currentFieldName () {
                        return this.tree.language.fields[this.currentFieldId()]
                      }
                      gotoFirstChild () {
                        vt(this)
                        const e = Ye._ts_tree_cursor_goto_first_child_wasm(
                          this.tree[0]
                        )
                        return Et(this), 1 === e
                      }
                      gotoNextSibling () {
                        vt(this)
                        const e = Ye._ts_tree_cursor_goto_next_sibling_wasm(
                          this.tree[0]
                        )
                        return Et(this), 1 === e
                      }
                      gotoParent () {
                        vt(this)
                        const e = Ye._ts_tree_cursor_goto_parent_wasm(
                          this.tree[0]
                        )
                        return Et(this), 1 === e
                      }
                    }
                    class ht {
                      constructor (e, t) {
                        gt(e),
                          (this[0] = t),
                          (this.types = new Array(
                            Ye._ts_language_symbol_count(this[0])
                          ))
                        for (let e = 0, t = this.types.length; e < t; e++)
                          Ye._ts_language_symbol_type(this[0], e) < 2 &&
                            (this.types[e] = U(
                              Ye._ts_language_symbol_name(this[0], e)
                            ))
                        this.fields = new Array(
                          Ye._ts_language_field_count(this[0]) + 1
                        )
                        for (let e = 0, t = this.fields.length; e < t; e++) {
                          const t = Ye._ts_language_field_name_for_id(
                            this[0],
                            e
                          )
                          this.fields[e] = 0 !== t ? U(t) : null
                        }
                      }
                      get version () {
                        return Ye._ts_language_version(this[0])
                      }
                      get fieldCount () {
                        return this.fields.length - 1
                      }
                      fieldIdForName (e) {
                        const t = this.fields.indexOf(e)
                        return -1 !== t ? t : null
                      }
                      fieldNameForId (e) {
                        return this.fields[e] || null
                      }
                      idForNodeType (e, t) {
                        const n = z(e),
                          r = Ye._malloc(n + 1)
                        W(e, r, n + 1)
                        const s = Ye._ts_language_symbol_for_name(
                          this[0],
                          r,
                          n,
                          t
                        )
                        return Ye._free(r), s || null
                      }
                      get nodeTypeCount () {
                        return Ye._ts_language_symbol_count(this[0])
                      }
                      nodeTypeForId (e) {
                        const t = Ye._ts_language_symbol_name(this[0], e)
                        return t ? U(t) : null
                      }
                      nodeTypeIsNamed (e) {
                        return !!Ye._ts_language_type_is_named_wasm(this[0], e)
                      }
                      nodeTypeIsVisible (e) {
                        return !!Ye._ts_language_type_is_visible_wasm(
                          this[0],
                          e
                        )
                      }
                      query (e) {
                        const t = z(e),
                          n = Ye._malloc(t + 1)
                        W(e, n, t + 1)
                        const r = Ye._ts_query_new(this[0], n, t, ot, ot + 4)
                        if (!r) {
                          const t = k(ot + 4, 'i32'),
                            r = U(n, k(ot, 'i32')).length,
                            s = e.substr(r, 100).split('\n')[0]
                          let i,
                            o = s.match(nt)[0]
                          switch (t) {
                            case 2:
                              i = new RangeError(`Bad node name '${o}'`)
                              break
                            case 3:
                              i = new RangeError(`Bad field name '${o}'`)
                              break
                            case 4:
                              i = new RangeError(`Bad capture name @${o}`)
                              break
                            case 5:
                              ;(i = new TypeError(
                                `Bad pattern structure at offset ${r}: '${s}'...`
                              )),
                                (o = '')
                              break
                            default:
                              ;(i = new SyntaxError(
                                `Bad syntax at offset ${r}: '${s}'...`
                              )),
                                (o = '')
                          }
                          throw ((i.index = r),
                          (i.length = o.length),
                          Ye._free(n),
                          i)
                        }
                        const s = Ye._ts_query_string_count(r),
                          i = Ye._ts_query_capture_count(r),
                          o = Ye._ts_query_pattern_count(r),
                          a = new Array(i),
                          l = new Array(s)
                        for (let e = 0; e < i; e++) {
                          const t = Ye._ts_query_capture_name_for_id(r, e, ot),
                            n = k(ot, 'i32')
                          a[e] = U(t, n)
                        }
                        for (let e = 0; e < s; e++) {
                          const t = Ye._ts_query_string_value_for_id(r, e, ot),
                            n = k(ot, 'i32')
                          l[e] = U(t, n)
                        }
                        const c = new Array(o),
                          u = new Array(o),
                          d = new Array(o),
                          p = new Array(o),
                          h = new Array(o)
                        for (let e = 0; e < o; e++) {
                          const t = Ye._ts_query_predicates_for_pattern(
                              r,
                              e,
                              ot
                            ),
                            n = k(ot, 'i32')
                          ;(p[e] = []), (h[e] = [])
                          const s = []
                          let i = t
                          for (let t = 0; t < n; t++) {
                            const t = k(i, 'i32'),
                              n = k((i += 4), 'i32')
                            if (((i += 4), 1 === t))
                              s.push({ type: 'capture', name: a[n] })
                            else if (2 === t)
                              s.push({ type: 'string', value: l[n] })
                            else if (s.length > 0) {
                              if ('string' !== s[0].type)
                                throw new Error(
                                  'Predicates must begin with a literal value'
                                )
                              const t = s[0].value
                              let n = !0
                              switch (t) {
                                case 'not-eq?':
                                  n = !1
                                case 'eq?':
                                  if (3 !== s.length)
                                    throw new Error(
                                      'Wrong number of arguments to `#eq?` predicate. Expected 2, got ' +
                                        (s.length - 1)
                                    )
                                  if ('capture' !== s[1].type)
                                    throw new Error(
                                      `First argument of \`#eq?\` predicate must be a capture. Got "${s[1].value}"`
                                    )
                                  if ('capture' === s[2].type) {
                                    const t = s[1].name,
                                      r = s[2].name
                                    h[e].push(function (e) {
                                      let s, i
                                      for (const n of e)
                                        n.name === t && (s = n.node),
                                          n.name === r && (i = n.node)
                                      return (
                                        void 0 === s ||
                                        void 0 === i ||
                                        (s.text === i.text) === n
                                      )
                                    })
                                  } else {
                                    const t = s[1].name,
                                      r = s[2].value
                                    h[e].push(function (e) {
                                      for (const s of e)
                                        if (s.name === t)
                                          return (s.node.text === r) === n
                                      return !0
                                    })
                                  }
                                  break
                                case 'not-match?':
                                  n = !1
                                case 'match?':
                                  if (3 !== s.length)
                                    throw new Error(
                                      `Wrong number of arguments to \`#match?\` predicate. Expected 2, got ${s.length -
                                        1}.`
                                    )
                                  if ('capture' !== s[1].type)
                                    throw new Error(
                                      `First argument of \`#match?\` predicate must be a capture. Got "${s[1].value}".`
                                    )
                                  if ('string' !== s[2].type)
                                    throw new Error(
                                      `Second argument of \`#match?\` predicate must be a string. Got @${s[2].value}.`
                                    )
                                  const r = s[1].name,
                                    i = new RegExp(s[2].value)
                                  h[e].push(function (e) {
                                    for (const t of e)
                                      if (t.name === r)
                                        return i.test(t.node.text) === n
                                    return !0
                                  })
                                  break
                                case 'set!':
                                  if (s.length < 2 || s.length > 3)
                                    throw new Error(
                                      `Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${s.length -
                                        1}.`
                                    )
                                  if (s.some(e => 'string' !== e.type))
                                    throw new Error(
                                      'Arguments to `#set!` predicate must be a strings.".'
                                    )
                                  c[e] || (c[e] = {}),
                                    (c[e][s[1].value] = s[2]
                                      ? s[2].value
                                      : null)
                                  break
                                case 'is?':
                                case 'is-not?':
                                  if (s.length < 2 || s.length > 3)
                                    throw new Error(
                                      `Wrong number of arguments to \`#${t}\` predicate. Expected 1 or 2. Got ${s.length -
                                        1}.`
                                    )
                                  if (s.some(e => 'string' !== e.type))
                                    throw new Error(
                                      `Arguments to \`#${t}\` predicate must be a strings.".`
                                    )
                                  const o = 'is?' === t ? u : d
                                  o[e] || (o[e] = {}),
                                    (o[e][s[1].value] = s[2]
                                      ? s[2].value
                                      : null)
                                  break
                                default:
                                  p[e].push({
                                    operator: t,
                                    operands: s.slice(1)
                                  })
                              }
                              s.length = 0
                            }
                          }
                          Object.freeze(c[e]),
                            Object.freeze(u[e]),
                            Object.freeze(d[e])
                        }
                        return (
                          Ye._free(n),
                          new ft(
                            Je,
                            r,
                            a,
                            h,
                            p,
                            Object.freeze(c),
                            Object.freeze(u),
                            Object.freeze(d)
                          )
                        )
                      }
                      static load (e) {
                        let t
                        if (e instanceof Uint8Array) t = Promise.resolve(e)
                        else {
                          const r = e
                          if (
                            'undefined' != typeof process &&
                            process.versions &&
                            process.versions.node
                          ) {
                            const e = n(8498)
                            t = Promise.resolve(e.readFileSync(r))
                          } else
                            t = fetch(r).then(e =>
                              e.arrayBuffer().then(t => {
                                if (e.ok) return new Uint8Array(t)
                                {
                                  const n = new TextDecoder('utf-8').decode(t)
                                  throw new Error(
                                    `Language.load failed with status ${e.status}.\n\n${n}`
                                  )
                                }
                              })
                            )
                        }
                        const r =
                          'function' == typeof loadSideModule
                            ? loadSideModule
                            : Ce
                        return t
                          .then(e => r(e, { loadAsync: !0 }))
                          .then(e => {
                            const t = Object.keys(e),
                              n = t.find(
                                e =>
                                  rt.test(e) && !e.includes('external_scanner_')
                              )
                            n ||
                              console.log(
                                `Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(
                                  t,
                                  null,
                                  2
                                )}`
                              )
                            const r = e[n]()
                            return new ht(Je, r)
                          })
                      }
                    }
                    class ft {
                      constructor (e, t, n, r, s, i, o, a) {
                        gt(e),
                          (this[0] = t),
                          (this.captureNames = n),
                          (this.textPredicates = r),
                          (this.predicates = s),
                          (this.setProperties = i),
                          (this.assertedProperties = o),
                          (this.refutedProperties = a),
                          (this.exceededMatchLimit = !1)
                      }
                      delete () {
                        Ye._ts_query_delete(this[0]), (this[0] = 0)
                      }
                      matches (e, t, n, r) {
                        t || (t = tt), n || (n = tt), r || (r = {})
                        let s = r.matchLimit
                        if (void 0 === s) s = 0
                        else if ('number' != typeof s)
                          throw new Error('Arguments must be numbers')
                        yt(e),
                          Ye._ts_query_matches_wasm(
                            this[0],
                            e.tree[0],
                            t.row,
                            t.column,
                            n.row,
                            n.column,
                            s
                          )
                        const i = k(ot, 'i32'),
                          o = k(ot + 4, 'i32'),
                          a = k(ot + 8, 'i32'),
                          l = new Array(i)
                        this.exceededMatchLimit = !!a
                        let c = 0,
                          u = o
                        for (let t = 0; t < i; t++) {
                          const n = k(u, 'i32'),
                            r = k((u += 4), 'i32')
                          u += 4
                          const s = new Array(r)
                          if (
                            ((u = _t(this, e.tree, u, s)),
                            this.textPredicates[n].every(e => e(s)))
                          ) {
                            l[c++] = { pattern: n, captures: s }
                            const e = this.setProperties[n]
                            e && (l[t].setProperties = e)
                            const r = this.assertedProperties[n]
                            r && (l[t].assertedProperties = r)
                            const i = this.refutedProperties[n]
                            i && (l[t].refutedProperties = i)
                          }
                        }
                        return (l.length = c), Ye._free(o), l
                      }
                      captures (e, t, n, r) {
                        t || (t = tt), n || (n = tt), r || (r = {})
                        let s = r.matchLimit
                        if (void 0 === s) s = 0
                        else if ('number' != typeof s)
                          throw new Error('Arguments must be numbers')
                        yt(e),
                          Ye._ts_query_captures_wasm(
                            this[0],
                            e.tree[0],
                            t.row,
                            t.column,
                            n.row,
                            n.column,
                            s
                          )
                        const i = k(ot, 'i32'),
                          o = k(ot + 4, 'i32'),
                          a = k(ot + 8, 'i32'),
                          l = []
                        this.exceededMatchLimit = !!a
                        const c = []
                        let u = o
                        for (let t = 0; t < i; t++) {
                          const t = k(u, 'i32'),
                            n = k((u += 4), 'i32'),
                            r = k((u += 4), 'i32')
                          if (
                            ((u += 4),
                            (c.length = n),
                            (u = _t(this, e.tree, u, c)),
                            this.textPredicates[t].every(e => e(c)))
                          ) {
                            const e = c[r],
                              n = this.setProperties[t]
                            n && (e.setProperties = n)
                            const s = this.assertedProperties[t]
                            s && (e.assertedProperties = s)
                            const i = this.refutedProperties[t]
                            i && (e.refutedProperties = i), l.push(e)
                          }
                        }
                        return Ye._free(o), l
                      }
                      predicatesForPattern (e) {
                        return this.predicates[e]
                      }
                      didExceedMatchLimit () {
                        return this.exceededMatchLimit
                      }
                    }
                    function mt (e, t, n) {
                      const r = n - t
                      let s = e.textCallback(t, null, n)
                      for (t += s.length; t < n; ) {
                        const r = e.textCallback(t, null, n)
                        if (!(r && r.length > 0)) break
                        ;(t += r.length), (s += r)
                      }
                      return t > n && (s = s.slice(0, r)), s
                    }
                    function _t (e, t, n, r) {
                      for (let s = 0, i = r.length; s < i; s++) {
                        const i = k(n, 'i32'),
                          o = wt(t, (n += 4))
                        ;(n += et),
                          (r[s] = { name: e.captureNames[i], node: o })
                      }
                      return n
                    }
                    function gt (e) {
                      if (e !== Je) throw new Error('Illegal constructor')
                    }
                    function bt (e) {
                      return (
                        e &&
                        'number' == typeof e.row &&
                        'number' == typeof e.column
                      )
                    }
                    function yt (e) {
                      let t = ot
                      O(t, e.id, 'i32'),
                        O((t += 4), e.startIndex, 'i32'),
                        O((t += 4), e.startPosition.row, 'i32'),
                        O((t += 4), e.startPosition.column, 'i32'),
                        O((t += 4), e[0], 'i32')
                    }
                    function wt (e, t = ot) {
                      const n = k(t, 'i32')
                      if (0 === n) return null
                      const r = k((t += 4), 'i32'),
                        s = k((t += 4), 'i32'),
                        i = k((t += 4), 'i32'),
                        o = k((t += 4), 'i32'),
                        a = new dt(Je, e)
                      return (
                        (a.id = n),
                        (a.startIndex = r),
                        (a.startPosition = { row: s, column: i }),
                        (a[0] = o),
                        a
                      )
                    }
                    function vt (e, t = ot) {
                      O(t + 0, e[0], 'i32'),
                        O(t + 4, e[1], 'i32'),
                        O(t + 8, e[2], 'i32')
                    }
                    function Et (e) {
                      ;(e[0] = k(ot + 0, 'i32')),
                        (e[1] = k(ot + 4, 'i32')),
                        (e[2] = k(ot + 8, 'i32'))
                    }
                    function xt (e, t) {
                      O(e, t.row, 'i32'), O(e + 4, t.column, 'i32')
                    }
                    function At (e) {
                      return { row: k(e, 'i32'), column: k(e + 4, 'i32') }
                    }
                    function St (e, t) {
                      xt(e, t.startPosition),
                        xt((e += 8), t.endPosition),
                        O((e += 8), t.startIndex, 'i32'),
                        O((e += 4), t.endIndex, 'i32'),
                        (e += 4)
                    }
                    function Ct (e) {
                      const t = {}
                      return (
                        (t.startPosition = At(e)),
                        (e += 8),
                        (t.endPosition = At(e)),
                        (e += 8),
                        (t.startIndex = k(e, 'i32')),
                        (e += 4),
                        (t.endIndex = k(e, 'i32')),
                        t
                      )
                    }
                    for (const e of Object.getOwnPropertyNames(ct.prototype))
                      Object.defineProperty(i.prototype, e, {
                        value: ct.prototype[e],
                        enumerable: !1,
                        writable: !1
                      })
                    ;(i.Language = ht),
                      (r.onRuntimeInitialized = () => {
                        ct.init(), t()
                      })
                  })))
                )
              }
            }
            return i
          })()
        e.exports = s
      },
      4681: (e, t, n) => {
        var r, s, i
        ;(i = n(317)),
          (s = n(8824)),
          (r = (function () {
            function e () {}
            return (
              (e.indentation = 4),
              (e.prototype.dump = function (e, t, n, r, o) {
                var a, l, c, u, d, p, h
                if (
                  (null == t && (t = 0),
                  null == n && (n = 0),
                  null == r && (r = !1),
                  null == o && (o = null),
                  (u = ''),
                  (d = n ? i.strRepeat(' ', n) : ''),
                  t <= 0 ||
                    'object' != typeof e ||
                    e instanceof Date ||
                    i.isEmpty(e))
                )
                  u += d + s.dump(e, r, o)
                else if (e instanceof Array)
                  for (a = 0, c = e.length; a < c; a++)
                    (p = e[a]),
                      (u +=
                        d +
                        '-' +
                        ((h =
                          t - 1 <= 0 || 'object' != typeof p || i.isEmpty(p))
                          ? ' '
                          : '\n') +
                        this.dump(
                          p,
                          t - 1,
                          h ? 0 : n + this.indentation,
                          r,
                          o
                        ) +
                        (h ? '\n' : ''))
                else
                  for (l in e)
                    (p = e[l]),
                      (h = t - 1 <= 0 || 'object' != typeof p || i.isEmpty(p)),
                      (u +=
                        d +
                        s.dump(l, r, o) +
                        ':' +
                        (h ? ' ' : '\n') +
                        this.dump(
                          p,
                          t - 1,
                          h ? 0 : n + this.indentation,
                          r,
                          o
                        ) +
                        (h ? '\n' : ''))
                return u
              }),
              e
            )
          })()),
          (e.exports = r)
      },
      3013: (e, t, n) => {
        var r, s
        ;(s = n(4374)),
          (r = (function () {
            var e
            function t () {}
            return (
              (t.LIST_ESCAPEES = [
                '\\',
                '\\\\',
                '\\"',
                '"',
                '\0',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '\b',
                '\t',
                '\n',
                '\v',
                '\f',
                '\r',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                '',
                (e = String.fromCharCode)(133),
                e(160),
                e(8232),
                e(8233)
              ]),
              (t.LIST_ESCAPED = [
                '\\\\',
                '\\"',
                '\\"',
                '\\"',
                '\\0',
                '\\x01',
                '\\x02',
                '\\x03',
                '\\x04',
                '\\x05',
                '\\x06',
                '\\a',
                '\\b',
                '\\t',
                '\\n',
                '\\v',
                '\\f',
                '\\r',
                '\\x0e',
                '\\x0f',
                '\\x10',
                '\\x11',
                '\\x12',
                '\\x13',
                '\\x14',
                '\\x15',
                '\\x16',
                '\\x17',
                '\\x18',
                '\\x19',
                '\\x1a',
                '\\e',
                '\\x1c',
                '\\x1d',
                '\\x1e',
                '\\x1f',
                '\\N',
                '\\_',
                '\\L',
                '\\P'
              ]),
              (t.MAPPING_ESCAPEES_TO_ESCAPED = (function () {
                var e, n, r, s
                for (
                  r = {}, e = n = 0, s = t.LIST_ESCAPEES.length;
                  0 <= s ? n < s : n > s;
                  e = 0 <= s ? ++n : --n
                )
                  r[t.LIST_ESCAPEES[e]] = t.LIST_ESCAPED[e]
                return r
              })()),
              (t.PATTERN_CHARACTERS_TO_ESCAPE = new s(
                '[\\x00-\\x1f]|Â|Â |â¨|â©'
              )),
              (t.PATTERN_MAPPING_ESCAPEES = new s(
                t.LIST_ESCAPEES.join('|')
                  .split('\\')
                  .join('\\\\')
              )),
              (t.PATTERN_SINGLE_QUOTING = new s(
                '[\\s\'":{}[\\],&*#?]|^[-?|<>=!%@`]'
              )),
              (t.requiresDoubleQuoting = function (e) {
                return this.PATTERN_CHARACTERS_TO_ESCAPE.test(e)
              }),
              (t.escapeWithDoubleQuotes = function (e) {
                var t
                return (
                  '"' +
                  this.PATTERN_MAPPING_ESCAPEES.replace(
                    e,
                    ((t = this),
                    function (e) {
                      return t.MAPPING_ESCAPEES_TO_ESCAPED[e]
                    })
                  ) +
                  '"'
                )
              }),
              (t.requiresSingleQuoting = function (e) {
                return this.PATTERN_SINGLE_QUOTING.test(e)
              }),
              (t.escapeWithSingleQuotes = function (e) {
                return "'" + e.replace(/'/g, "''") + "'"
              }),
              t
            )
          })()),
          (e.exports = r)
      },
      6169: e => {
        var t,
          n = {}.hasOwnProperty
        ;(t = (function (e) {
          function t (e, t, n) {
            ;(this.message = e), (this.parsedLine = t), (this.snippet = n)
          }
          return (
            (function (e, t) {
              for (var r in t) n.call(t, r) && (e[r] = t[r])
              function s () {
                this.constructor = e
              }
              ;(s.prototype = t.prototype),
                (e.prototype = new s()),
                (e.__super__ = t.prototype)
            })(t, Error),
            (t.prototype.toString = function () {
              return null != this.parsedLine && null != this.snippet
                ? '<DumpException> ' +
                    this.message +
                    ' (line ' +
                    this.parsedLine +
                    ": '" +
                    this.snippet +
                    "')"
                : '<DumpException> ' + this.message
            }),
            t
          )
        })()),
          (e.exports = t)
      },
      7119: e => {
        var t,
          n = {}.hasOwnProperty
        ;(t = (function (e) {
          function t (e, t, n) {
            ;(this.message = e), (this.parsedLine = t), (this.snippet = n)
          }
          return (
            (function (e, t) {
              for (var r in t) n.call(t, r) && (e[r] = t[r])
              function s () {
                this.constructor = e
              }
              ;(s.prototype = t.prototype),
                (e.prototype = new s()),
                (e.__super__ = t.prototype)
            })(t, Error),
            (t.prototype.toString = function () {
              return null != this.parsedLine && null != this.snippet
                ? '<ParseException> ' +
                    this.message +
                    ' (line ' +
                    this.parsedLine +
                    ": '" +
                    this.snippet +
                    "')"
                : '<ParseException> ' + this.message
            }),
            t
          )
        })()),
          (e.exports = t)
      },
      9401: e => {
        var t,
          n = {}.hasOwnProperty
        ;(t = (function (e) {
          function t (e, t, n) {
            ;(this.message = e), (this.parsedLine = t), (this.snippet = n)
          }
          return (
            (function (e, t) {
              for (var r in t) n.call(t, r) && (e[r] = t[r])
              function s () {
                this.constructor = e
              }
              ;(s.prototype = t.prototype),
                (e.prototype = new s()),
                (e.__super__ = t.prototype)
            })(t, Error),
            (t.prototype.toString = function () {
              return null != this.parsedLine && null != this.snippet
                ? '<ParseMore> ' +
                    this.message +
                    ' (line ' +
                    this.parsedLine +
                    ": '" +
                    this.snippet +
                    "')"
                : '<ParseMore> ' + this.message
            }),
            t
          )
        })()),
          (e.exports = t)
      },
      8824: (e, t, n) => {
        var r,
          s,
          i,
          o,
          a,
          l,
          c,
          u =
            [].indexOf ||
            function (e) {
              for (var t = 0, n = this.length; t < n; t++)
                if (t in this && this[t] === e) return t
              return -1
            }
        ;(a = n(4374)),
          (l = n(6928)),
          (r = n(3013)),
          (c = n(317)),
          (i = n(7119)),
          (o = n(9401)),
          n(6169),
          (s = (function () {
            function e () {}
            return (
              (e.REGEX_QUOTED_STRING =
                "(?:\"(?:[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\"|'(?:[^']*(?:''[^']*)*)')"),
              (e.PATTERN_TRAILING_COMMENTS = new a('^\\s*#.*$')),
              (e.PATTERN_QUOTED_SCALAR = new a('^' + e.REGEX_QUOTED_STRING)),
              (e.PATTERN_THOUSAND_NUMERIC_SCALAR = new a(
                '^(-|\\+)?[0-9,]+(\\.[0-9]+)?$'
              )),
              (e.PATTERN_SCALAR_BY_DELIMITERS = {}),
              (e.settings = {}),
              (e.configure = function (e, t) {
                null == e && (e = null),
                  null == t && (t = null),
                  (this.settings.exceptionOnInvalidType = e),
                  (this.settings.objectDecoder = t)
              }),
              (e.parse = function (e, t, n) {
                var r, s
                if (
                  (null == t && (t = !1),
                  null == n && (n = null),
                  (this.settings.exceptionOnInvalidType = t),
                  (this.settings.objectDecoder = n),
                  null == e)
                )
                  return ''
                if (0 === (e = c.trim(e)).length) return ''
                switch (
                  ((r = { exceptionOnInvalidType: t, objectDecoder: n, i: 0 }),
                  e.charAt(0))
                ) {
                  case '[':
                    ;(s = this.parseSequence(e, r)), ++r.i
                    break
                  case '{':
                    ;(s = this.parseMapping(e, r)), ++r.i
                    break
                  default:
                    s = this.parseScalar(e, null, ['"', "'"], r)
                }
                if (
                  '' !==
                  this.PATTERN_TRAILING_COMMENTS.replace(e.slice(r.i), '')
                )
                  throw new i(
                    'Unexpected characters near "' + e.slice(r.i) + '".'
                  )
                return s
              }),
              (e.dump = function (e, t, n) {
                var s, i, o
                return (
                  null == t && (t = !1),
                  null == n && (n = null),
                  null == e
                    ? 'null'
                    : 'object' == (o = typeof e)
                    ? e instanceof Date
                      ? e.toISOString()
                      : null == n ||
                        ('string' != typeof (i = n(e)) && null == i)
                      ? this.dumpObject(e)
                      : i
                    : 'boolean' === o
                    ? e
                      ? 'true'
                      : 'false'
                    : c.isDigits(e)
                    ? 'string' === o
                      ? "'" + e + "'"
                      : String(parseInt(e))
                    : c.isNumeric(e)
                    ? 'string' === o
                      ? "'" + e + "'"
                      : String(parseFloat(e))
                    : 'number' === o
                    ? Infinity === e
                      ? '.Inf'
                      : -Infinity === e
                      ? '-.Inf'
                      : isNaN(e)
                      ? '.NaN'
                      : e
                    : r.requiresDoubleQuoting(e)
                    ? r.escapeWithDoubleQuotes(e)
                    : r.requiresSingleQuoting(e)
                    ? r.escapeWithSingleQuotes(e)
                    : '' === e
                    ? '""'
                    : c.PATTERN_DATE.test(e) ||
                      'null' === (s = e.toLowerCase()) ||
                      '~' === s ||
                      'true' === s ||
                      'false' === s
                    ? "'" + e + "'"
                    : e
                )
              }),
              (e.dumpObject = function (e, t, n) {
                var r, s, i, o, a
                if ((null == n && (n = null), e instanceof Array)) {
                  for (o = [], r = 0, i = e.length; r < i; r++)
                    (a = e[r]), o.push(this.dump(a))
                  return '[' + o.join(', ') + ']'
                }
                for (s in ((o = []), e))
                  (a = e[s]), o.push(this.dump(s) + ': ' + this.dump(a))
                return '{' + o.join(', ') + '}'
              }),
              (e.parseScalar = function (e, t, n, r, s) {
                var o, l, d, p, h, f, m, _
                if (
                  (null == t && (t = null),
                  null == n && (n = ['"', "'"]),
                  null == r && (r = null),
                  null == s && (s = !0),
                  null == r &&
                    (r = {
                      exceptionOnInvalidType: this.settings
                        .exceptionOnInvalidType,
                      objectDecoder: this.settings.objectDecoder,
                      i: 0
                    }),
                  (o = r.i),
                  (f = e.charAt(o)),
                  u.call(n, f) >= 0)
                ) {
                  if (
                    ((p = this.parseQuotedScalar(e, r)),
                    (o = r.i),
                    null != t &&
                      ((m = c.ltrim(e.slice(o), ' ').charAt(0)),
                      !(u.call(t, m) >= 0)))
                  )
                    throw new i('Unexpected characters (' + e.slice(o) + ').')
                } else {
                  if (t) {
                    if (
                      ((l = t.join('|')),
                      null == (h = this.PATTERN_SCALAR_BY_DELIMITERS[l]) &&
                        ((h = new a('^(.+?)(' + l + ')')),
                        (this.PATTERN_SCALAR_BY_DELIMITERS[l] = h)),
                      !(d = h.exec(e.slice(o))))
                    )
                      throw new i('Malformed inline YAML string (' + e + ').')
                    o += (p = d[1]).length
                  } else
                    (o += (p = e.slice(o)).length),
                      -1 !== (_ = p.indexOf(' #')) &&
                        (p = c.rtrim(p.slice(0, _)))
                  s && (p = this.evaluateScalar(p, r))
                }
                return (r.i = o), p
              }),
              (e.parseQuotedScalar = function (e, t) {
                var n, r, s
                if (
                  ((n = t.i),
                  !(r = this.PATTERN_QUOTED_SCALAR.exec(e.slice(n))))
                )
                  throw new o(
                    'Malformed inline YAML string (' + e.slice(n) + ').'
                  )
                return (
                  (s = r[0].substr(1, r[0].length - 2)),
                  (s =
                    '"' === e.charAt(n)
                      ? l.unescapeDoubleQuotedString(s)
                      : l.unescapeSingleQuotedString(s)),
                  (n += r[0].length),
                  (t.i = n),
                  s
                )
              }),
              (e.parseSequence = function (e, t) {
                var n, r, s, i, a, l
                for (i = [], s = e.length, n = t.i, n += 1; n < s; ) {
                  switch (((t.i = n), e.charAt(n))) {
                    case '[':
                      i.push(this.parseSequence(e, t)), (n = t.i)
                      break
                    case '{':
                      i.push(this.parseMapping(e, t)), (n = t.i)
                      break
                    case ']':
                      return i
                    case ',':
                    case ' ':
                    case '\n':
                      break
                    default:
                      if (
                        ((r = '"' === (a = e.charAt(n)) || "'" === a),
                        (l = this.parseScalar(e, [',', ']'], ['"', "'"], t)),
                        (n = t.i),
                        !r &&
                          'string' == typeof l &&
                          (-1 !== l.indexOf(': ') || -1 !== l.indexOf(':\n')))
                      )
                        try {
                          l = this.parseMapping('{' + l + '}')
                        } catch (e) {}
                      i.push(l), --n
                  }
                  ++n
                }
                throw new o('Malformed inline YAML string ' + e)
              }),
              (e.parseMapping = function (e, t) {
                var n, r, s, i, a, l, c
                for (a = {}, i = e.length, r = t.i, r += 1, l = !1; r < i; ) {
                  switch (((t.i = r), e.charAt(r))) {
                    case ' ':
                    case ',':
                    case '\n':
                      ++r, (t.i = r), (l = !0)
                      break
                    case '}':
                      return a
                  }
                  if (l) l = !1
                  else
                    for (
                      s = this.parseScalar(
                        e,
                        [':', ' ', '\n'],
                        ['"', "'"],
                        t,
                        !1
                      ),
                        r = t.i,
                        n = !1;
                      r < i;

                    ) {
                      switch (((t.i = r), e.charAt(r))) {
                        case '[':
                          ;(c = this.parseSequence(e, t)),
                            (r = t.i),
                            void 0 === a[s] && (a[s] = c),
                            (n = !0)
                          break
                        case '{':
                          ;(c = this.parseMapping(e, t)),
                            (r = t.i),
                            void 0 === a[s] && (a[s] = c),
                            (n = !0)
                          break
                        case ':':
                        case ' ':
                        case '\n':
                          break
                        default:
                          ;(c = this.parseScalar(e, [',', '}'], ['"', "'"], t)),
                            (r = t.i),
                            void 0 === a[s] && (a[s] = c),
                            (n = !0),
                            --r
                      }
                      if ((++r, n)) break
                    }
                }
                throw new o('Malformed inline YAML string ' + e)
              }),
              (e.evaluateScalar = function (e, t) {
                var n, r, s, o, a, l, u, d, p
                switch ((u = (e = c.trim(e)).toLowerCase())) {
                  case 'null':
                  case '':
                  case '~':
                    return null
                  case 'true':
                    return !0
                  case 'false':
                    return !1
                  case '.inf':
                  case '-.inf':
                    return Infinity
                  case '.nan':
                    return NaN
                  default:
                    switch (u.charAt(0)) {
                      case '!':
                        switch (
                          -1 === (o = e.indexOf(' ')) ? u : u.slice(0, o)
                        ) {
                          case '!':
                            return -1 !== o
                              ? parseInt(this.parseScalar(e.slice(2)))
                              : null
                          case '!str':
                            return c.ltrim(e.slice(4))
                          case '!!str':
                            return c.ltrim(e.slice(5))
                          case '!!int':
                            return parseInt(this.parseScalar(e.slice(5)))
                          case '!!bool':
                            return c.parseBoolean(
                              this.parseScalar(e.slice(6)),
                              !1
                            )
                          case '!!float':
                            return parseFloat(this.parseScalar(e.slice(7)))
                          case '!!timestamp':
                            return c.stringToDate(c.ltrim(e.slice(11)))
                          default:
                            if (
                              (null == t &&
                                (t = {
                                  exceptionOnInvalidType: this.settings
                                    .exceptionOnInvalidType,
                                  objectDecoder: this.settings.objectDecoder,
                                  i: 0
                                }),
                              (a = t.objectDecoder),
                              (s = t.exceptionOnInvalidType),
                              a)
                            )
                              return -1 === (o = (p = c.rtrim(e)).indexOf(' '))
                                ? a(p, null)
                                : ((d = c.ltrim(p.slice(o + 1))).length > 0 ||
                                    (d = null),
                                  a(p.slice(0, o), d))
                            if (s)
                              throw new i(
                                'Custom object support when parsing a YAML file has been disabled.'
                              )
                            return null
                        }
                        break
                      case '0':
                        return '0x' === e.slice(0, 2)
                          ? c.hexDec(e)
                          : c.isDigits(e)
                          ? c.octDec(e)
                          : c.isNumeric(e)
                          ? parseFloat(e)
                          : e
                      case '+':
                        return c.isDigits(e)
                          ? ((l = e),
                            (n = parseInt(l)),
                            l === String(n) ? n : l)
                          : c.isNumeric(e)
                          ? parseFloat(e)
                          : this.PATTERN_THOUSAND_NUMERIC_SCALAR.test(e)
                          ? parseFloat(e.replace(',', ''))
                          : e
                      case '-':
                        return c.isDigits(e.slice(1))
                          ? '0' === e.charAt(1)
                            ? -c.octDec(e.slice(1))
                            : ((l = e.slice(1)),
                              (n = parseInt(l)),
                              l === String(n) ? -n : -l)
                          : c.isNumeric(e)
                          ? parseFloat(e)
                          : this.PATTERN_THOUSAND_NUMERIC_SCALAR.test(e)
                          ? parseFloat(e.replace(',', ''))
                          : e
                      default:
                        return (r = c.stringToDate(e))
                          ? r
                          : c.isNumeric(e)
                          ? parseFloat(e)
                          : this.PATTERN_THOUSAND_NUMERIC_SCALAR.test(e)
                          ? parseFloat(e.replace(',', ''))
                          : e
                    }
                }
              }),
              e
            )
          })()),
          (e.exports = s)
      },
      3146: (e, t, n) => {
        var r, s, i, o, a, l
        ;(r = n(8824)),
          (a = n(4374)),
          (l = n(317)),
          (s = n(7119)),
          (i = n(9401)),
          (o = (function () {
            function e (e) {
              ;(this.offset = null != e ? e : 0),
                (this.lines = []),
                (this.currentLineNb = -1),
                (this.currentLine = ''),
                (this.refs = {})
            }
            return (
              (e.prototype.PATTERN_FOLDED_SCALAR_ALL = new a(
                '^(?:(?<type>![^\\|>]*)\\s+)?(?<separator>\\||>)(?<modifiers>\\+|\\-|\\d+|\\+\\d+|\\-\\d+|\\d+\\+|\\d+\\-)?(?<comments> +#.*)?$'
              )),
              (e.prototype.PATTERN_FOLDED_SCALAR_END = new a(
                '(?<separator>\\||>)(?<modifiers>\\+|\\-|\\d+|\\+\\d+|\\-\\d+|\\d+\\+|\\d+\\-)?(?<comments> +#.*)?$'
              )),
              (e.prototype.PATTERN_SEQUENCE_ITEM = new a(
                '^\\-((?<leadspaces>\\s+)(?<value>.+?))?\\s*$'
              )),
              (e.prototype.PATTERN_ANCHOR_VALUE = new a(
                '^&(?<ref>[^ ]+) *(?<value>.*)'
              )),
              (e.prototype.PATTERN_COMPACT_NOTATION = new a(
                '^(?<key>' +
                  r.REGEX_QUOTED_STRING +
                  '|[^ \'"\\{\\[].*?) *\\:(\\s+(?<value>.+?))?\\s*$'
              )),
              (e.prototype.PATTERN_MAPPING_ITEM = new a(
                '^(?<key>' +
                  r.REGEX_QUOTED_STRING +
                  '|[^ \'"\\[\\{].*?) *\\:(\\s+(?<value>.+?))?\\s*$'
              )),
              (e.prototype.PATTERN_DECIMAL = new a('\\d+')),
              (e.prototype.PATTERN_INDENT_SPACES = new a('^ +')),
              (e.prototype.PATTERN_TRAILING_LINES = new a('(\n*)$')),
              (e.prototype.PATTERN_YAML_HEADER = new a(
                '^\\%YAML[: ][\\d\\.]+.*\n',
                'm'
              )),
              (e.prototype.PATTERN_LEADING_COMMENTS = new a(
                '^(\\#.*?\n)+',
                'm'
              )),
              (e.prototype.PATTERN_DOCUMENT_MARKER_START = new a(
                '^\\-\\-\\-.*?\n',
                'm'
              )),
              (e.prototype.PATTERN_DOCUMENT_MARKER_END = new a(
                '^\\.\\.\\.\\s*$',
                'm'
              )),
              (e.prototype.PATTERN_FOLDED_SCALAR_BY_INDENTATION = {}),
              (e.prototype.CONTEXT_NONE = 0),
              (e.prototype.CONTEXT_SEQUENCE = 1),
              (e.prototype.CONTEXT_MAPPING = 2),
              (e.prototype.parse = function (t, n, i) {
                var o,
                  a,
                  c,
                  u,
                  d,
                  p,
                  h,
                  f,
                  m,
                  _,
                  g,
                  b,
                  y,
                  w,
                  v,
                  E,
                  x,
                  A,
                  S,
                  C,
                  T,
                  N,
                  O,
                  k,
                  I,
                  L,
                  P,
                  R,
                  M,
                  D,
                  j,
                  F,
                  q,
                  $,
                  B
                for (
                  null == n && (n = !1),
                    null == i && (i = null),
                    this.currentLineNb = -1,
                    this.currentLine = '',
                    this.lines = this.cleanup(t).split('\n'),
                    d = null,
                    u = this.CONTEXT_NONE,
                    a = !1;
                  this.moveToNextLine();

                )
                  if (!this.isCurrentLineEmpty()) {
                    if ('\t' === this.currentLine[0])
                      throw new s(
                        'A YAML file cannot contain tabs as indentation.',
                        this.getRealCurrentLineNb() + 1,
                        this.currentLine
                      )
                    if (
                      ((_ = O = !1),
                      (B = this.PATTERN_SEQUENCE_ITEM.exec(this.currentLine)))
                    ) {
                      if (this.CONTEXT_MAPPING === u)
                        throw new s(
                          'You cannot define a sequence item when in a mapping'
                        )
                      ;(u = this.CONTEXT_SEQUENCE),
                        null == d && (d = []),
                        null != B.value &&
                          (N = this.PATTERN_ANCHOR_VALUE.exec(B.value)) &&
                          ((_ = N.ref), (B.value = N.value)),
                        null == B.value ||
                        '' === l.trim(B.value, ' ') ||
                        0 === l.ltrim(B.value, ' ').indexOf('#')
                          ? this.currentLineNb < this.lines.length - 1 &&
                            !this.isNextLineUnIndentedCollection()
                            ? (((R = new e(
                                this.getRealCurrentLineNb() + 1
                              )).refs = this.refs),
                              d.push(
                                R.parse(this.getNextEmbedBlock(null, !0), n, i)
                              ))
                            : d.push(null)
                          : (null != (M = B.leadspaces) ? M.length : void 0) &&
                            (N = this.PATTERN_COMPACT_NOTATION.exec(B.value))
                          ? (((R = new e(
                              this.getRealCurrentLineNb()
                            )).refs = this.refs),
                            (c = B.value),
                            (m = this.getCurrentLineIndentation()),
                            this.isNextLineIndented(!1) &&
                              (c +=
                                '\n' +
                                this.getNextEmbedBlock(
                                  m + B.leadspaces.length + 1,
                                  !0
                                )),
                            d.push(R.parse(c, n, i)))
                          : d.push(this.parseValue(B.value, n, i))
                    } else {
                      if (
                        !(B = this.PATTERN_MAPPING_ITEM.exec(
                          this.currentLine
                        )) ||
                        -1 !== B.key.indexOf(' #')
                      ) {
                        if (
                          1 === (C = this.lines.length) ||
                          (2 === C && l.isEmpty(this.lines[1]))
                        ) {
                          try {
                            t = r.parse(this.lines[0], n, i)
                          } catch (e) {
                            throw (((p = e).parsedLine =
                              this.getRealCurrentLineNb() + 1),
                            (p.snippet = this.currentLine),
                            p)
                          }
                          if ('object' == typeof t) {
                            if (t instanceof Array) h = t[0]
                            else
                              for (y in t) {
                                h = t[y]
                                break
                              }
                            if ('string' == typeof h && 0 === h.indexOf('*')) {
                              for (d = [], k = 0, S = t.length; k < S; k++)
                                (o = t[k]), d.push(this.refs[o.slice(1)])
                              t = d
                            }
                          }
                          return t
                        }
                        if ('[' === (j = l.ltrim(t).charAt(0)) || '{' === j)
                          try {
                            return r.parse(t, n, i)
                          } catch (e) {
                            throw (((p = e).parsedLine =
                              this.getRealCurrentLineNb() + 1),
                            (p.snippet = this.currentLine),
                            p)
                          }
                        throw new s(
                          'Unable to parse.',
                          this.getRealCurrentLineNb() + 1,
                          this.currentLine
                        )
                      }
                      if (this.CONTEXT_SEQUENCE === u)
                        throw new s(
                          'You cannot define a mapping item when in a sequence'
                        )
                      ;(u = this.CONTEXT_MAPPING),
                        null == d && (d = {}),
                        r.configure(n, i)
                      try {
                        y = r.parseScalar(B.key)
                      } catch (e) {
                        throw (((p = e).parsedLine =
                          this.getRealCurrentLineNb() + 1),
                        (p.snippet = this.currentLine),
                        p)
                      }
                      if ('<<' === y)
                        if (
                          ((O = !0),
                          (a = !0),
                          0 ===
                            (null != (D = B.value) ? D.indexOf('*') : void 0))
                        ) {
                          if (((F = B.value.slice(1)), null == this.refs[F]))
                            throw new s(
                              'Reference "' + F + '" does not exist.',
                              this.getRealCurrentLineNb() + 1,
                              this.currentLine
                            )
                          if ('object' != typeof (q = this.refs[F]))
                            throw new s(
                              'YAML merge keys used with a scalar value instead of an object.',
                              this.getRealCurrentLineNb() + 1,
                              this.currentLine
                            )
                          if (q instanceof Array)
                            for (f = g = 0, E = q.length; g < E; f = ++g)
                              (t = q[f]),
                                null == d[(I = String(f))] && (d[I] = t)
                          else
                            for (y in q) (t = q[y]), null == d[y] && (d[y] = t)
                        } else {
                          if (
                            ((t =
                              null != B.value && '' !== B.value
                                ? B.value
                                : this.getNextEmbedBlock()),
                            ((R = new e(
                              this.getRealCurrentLineNb() + 1
                            )).refs = this.refs),
                            'object' != typeof (L = R.parse(t, n)))
                          )
                            throw new s(
                              'YAML merge keys used with a scalar value instead of an object.',
                              this.getRealCurrentLineNb() + 1,
                              this.currentLine
                            )
                          if (L instanceof Array)
                            for (w = 0, x = L.length; w < x; w++) {
                              if ('object' != typeof (P = L[w]))
                                throw new s(
                                  'Merge items must be objects.',
                                  this.getRealCurrentLineNb() + 1,
                                  P
                                )
                              if (P instanceof Array)
                                for (f = T = 0, A = P.length; T < A; f = ++T)
                                  (t = P[f]),
                                    (b = String(f)),
                                    d.hasOwnProperty(b) || (d[b] = t)
                              else
                                for (y in P)
                                  (t = P[y]), d.hasOwnProperty(y) || (d[y] = t)
                            }
                          else
                            for (y in L)
                              (t = L[y]), d.hasOwnProperty(y) || (d[y] = t)
                        }
                      else
                        null != B.value &&
                          (N = this.PATTERN_ANCHOR_VALUE.exec(B.value)) &&
                          ((_ = N.ref), (B.value = N.value))
                      O ||
                        (null == B.value ||
                        '' === l.trim(B.value, ' ') ||
                        0 === l.ltrim(B.value, ' ').indexOf('#')
                          ? this.isNextLineIndented() ||
                            this.isNextLineUnIndentedCollection()
                            ? (((R = new e(
                                this.getRealCurrentLineNb() + 1
                              )).refs = this.refs),
                              ($ = R.parse(this.getNextEmbedBlock(), n, i)),
                              (a || void 0 === d[y]) && (d[y] = $))
                            : (a || void 0 === d[y]) && (d[y] = null)
                          : (($ = this.parseValue(B.value, n, i)),
                            (a || void 0 === d[y]) && (d[y] = $)))
                    }
                    if (_)
                      if (d instanceof Array) this.refs[_] = d[d.length - 1]
                      else {
                        for (y in ((v = null), d)) v = y
                        this.refs[_] = d[v]
                      }
                  }
                return l.isEmpty(d) ? null : d
              }),
              (e.prototype.getRealCurrentLineNb = function () {
                return this.currentLineNb + this.offset
              }),
              (e.prototype.getCurrentLineIndentation = function () {
                return (
                  this.currentLine.length -
                  l.ltrim(this.currentLine, ' ').length
                )
              }),
              (e.prototype.getNextEmbedBlock = function (e, t) {
                var n, r, i, o, a, c, u
                if (
                  (null == e && (e = null),
                  null == t && (t = !1),
                  this.moveToNextLine(),
                  null == e)
                ) {
                  if (
                    ((o = this.getCurrentLineIndentation()),
                    (u = this.isStringUnIndentedCollectionItem(
                      this.currentLine
                    )),
                    !this.isCurrentLineEmpty() && 0 === o && !u)
                  )
                    throw new s(
                      'Indentation problem.',
                      this.getRealCurrentLineNb() + 1,
                      this.currentLine
                    )
                } else o = e
                for (
                  n = [this.currentLine.slice(o)],
                    t ||
                      (i = this.isStringUnIndentedCollectionItem(
                        this.currentLine
                      )),
                    a = !(c = this.PATTERN_FOLDED_SCALAR_END).test(
                      this.currentLine
                    );
                  this.moveToNextLine();

                )
                  if (
                    ((r = this.getCurrentLineIndentation()) === o &&
                      (a = !c.test(this.currentLine)),
                    !a || !this.isCurrentLineComment())
                  )
                    if (this.isCurrentLineBlank())
                      n.push(this.currentLine.slice(o))
                    else {
                      if (
                        i &&
                        !this.isStringUnIndentedCollectionItem(
                          this.currentLine
                        ) &&
                        r === o
                      ) {
                        this.moveToPreviousLine()
                        break
                      }
                      if (r >= o) n.push(this.currentLine.slice(o))
                      else if ('#' !== l.ltrim(this.currentLine).charAt(0)) {
                        if (0 === r) {
                          this.moveToPreviousLine()
                          break
                        }
                        throw new s(
                          'Indentation problem.',
                          this.getRealCurrentLineNb() + 1,
                          this.currentLine
                        )
                      }
                    }
                return n.join('\n')
              }),
              (e.prototype.moveToNextLine = function () {
                return !(
                  this.currentLineNb >= this.lines.length - 1 ||
                  ((this.currentLine = this.lines[++this.currentLineNb]), 0)
                )
              }),
              (e.prototype.moveToPreviousLine = function () {
                this.currentLine = this.lines[--this.currentLineNb]
              }),
              (e.prototype.parseValue = function (e, t, n) {
                var o, a, c, u, d, p, h, f
                if (0 === e.indexOf('*')) {
                  if (
                    ((d = e.indexOf('#')),
                    (e = -1 !== d ? e.substr(1, d - 2) : e.slice(1)),
                    void 0 === this.refs[e])
                  )
                    throw new s(
                      'Reference "' + e + '" does not exist.',
                      this.currentLine
                    )
                  return this.refs[e]
                }
                if ((c = this.PATTERN_FOLDED_SCALAR_ALL.exec(e)))
                  return (
                    (u = null != (p = c.modifiers) ? p : ''),
                    (a = Math.abs(parseInt(u))),
                    isNaN(a) && (a = 0),
                    (f = this.parseFoldedScalar(
                      c.separator,
                      this.PATTERN_DECIMAL.replace(u, ''),
                      a
                    )),
                    null != c.type
                      ? (r.configure(t, n), r.parseScalar(c.type + ' ' + f))
                      : f
                  )
                if (
                  '[' !== (h = e.charAt(0)) &&
                  '{' !== h &&
                  '"' !== h &&
                  "'" !== h
                )
                  return (
                    this.isNextLineIndented() &&
                      (e += '\n' + this.getNextEmbedBlock()),
                    r.parse(e, t, n)
                  )
                for (;;)
                  try {
                    return r.parse(e, t, n)
                  } catch (t) {
                    if (!((o = t) instanceof i && this.moveToNextLine()))
                      throw ((o.parsedLine = this.getRealCurrentLineNb() + 1),
                      (o.snippet = this.currentLine),
                      o)
                    e += '\n' + l.trim(this.currentLine, ' ')
                  }
              }),
              (e.prototype.parseFoldedScalar = function (t, n, r) {
                var s, i, o, c, u, d, p, h, f, m
                if (
                  (null == n && (n = ''),
                  null == r && (r = 0),
                  !(p = this.moveToNextLine()))
                )
                  return ''
                for (s = this.isCurrentLineBlank(), m = ''; p && s; )
                  (p = this.moveToNextLine()) &&
                    ((m += '\n'), (s = this.isCurrentLineBlank()))
                if (
                  (0 === r &&
                    (u = this.PATTERN_INDENT_SPACES.exec(this.currentLine)) &&
                    (r = u[0].length),
                  r > 0)
                )
                  for (
                    null ==
                      (h = this.PATTERN_FOLDED_SCALAR_BY_INDENTATION[r]) &&
                    ((h = new a('^ {' + r + '}(.*)$')),
                    (e.prototype.PATTERN_FOLDED_SCALAR_BY_INDENTATION[r] = h));
                    p && (s || (u = h.exec(this.currentLine)));

                  )
                    (m += s ? this.currentLine.slice(r) : u[1]),
                      (p = this.moveToNextLine()) &&
                        ((m += '\n'), (s = this.isCurrentLineBlank()))
                else p && (m += '\n')
                if ((p && this.moveToPreviousLine(), '>' === t)) {
                  for (
                    d = '', i = 0, o = (f = m.split('\n')).length;
                    i < o;
                    i++
                  )
                    0 === (c = f[i]).length || ' ' === c.charAt(0)
                      ? (d = l.rtrim(d, ' ') + c + '\n')
                      : (d += c + ' ')
                  m = d
                }
                return (
                  '+' !== n && (m = l.rtrim(m)),
                  '' === n
                    ? (m = this.PATTERN_TRAILING_LINES.replace(m, '\n'))
                    : '-' === n &&
                      (m = this.PATTERN_TRAILING_LINES.replace(m, '')),
                  m
                )
              }),
              (e.prototype.isNextLineIndented = function (e) {
                var t, n, r
                if (
                  (null == e && (e = !0),
                  (n = this.getCurrentLineIndentation()),
                  (t = !this.moveToNextLine()),
                  e)
                )
                  for (; !t && this.isCurrentLineEmpty(); )
                    t = !this.moveToNextLine()
                else
                  for (; !t && this.isCurrentLineBlank(); )
                    t = !this.moveToNextLine()
                return (
                  !t &&
                  ((r = !1),
                  this.getCurrentLineIndentation() > n && (r = !0),
                  this.moveToPreviousLine(),
                  r)
                )
              }),
              (e.prototype.isCurrentLineEmpty = function () {
                var e
                return (
                  0 === (e = l.trim(this.currentLine, ' ')).length ||
                  '#' === e.charAt(0)
                )
              }),
              (e.prototype.isCurrentLineBlank = function () {
                return '' === l.trim(this.currentLine, ' ')
              }),
              (e.prototype.isCurrentLineComment = function () {
                return '#' === l.ltrim(this.currentLine, ' ').charAt(0)
              }),
              (e.prototype.cleanup = function (e) {
                var t, n, r, s, i, o, a, c, u, d, p, h, f, m
                for (
                  -1 !== e.indexOf('\r') &&
                    (e = e
                      .split('\r\n')
                      .join('\n')
                      .split('\r')
                      .join('\n')),
                    t = 0,
                    e = (d = this.PATTERN_YAML_HEADER.replaceAll(e, ''))[0],
                    t = d[1],
                    this.offset += t,
                    m = (p = this.PATTERN_LEADING_COMMENTS.replaceAll(
                      e,
                      '',
                      1
                    ))[0],
                    1 === (t = p[1]) &&
                      ((this.offset +=
                        l.subStrCount(e, '\n') - l.subStrCount(m, '\n')),
                      (e = m)),
                    m = (h = this.PATTERN_DOCUMENT_MARKER_START.replaceAll(
                      e,
                      '',
                      1
                    ))[0],
                    1 === (t = h[1]) &&
                      ((this.offset +=
                        l.subStrCount(e, '\n') - l.subStrCount(m, '\n')),
                      (e = m),
                      (e = this.PATTERN_DOCUMENT_MARKER_END.replace(e, ''))),
                    f = -1,
                    s = 0,
                    o = (u = e.split('\n')).length;
                  s < o;
                  s++
                )
                  (c = u[s]),
                    0 !== l.trim(c, ' ').length &&
                      ((r = c.length - l.ltrim(c).length),
                      (-1 === f || r < f) && (f = r))
                if (f > 0) {
                  for (n = i = 0, a = u.length; i < a; n = ++i)
                    (c = u[n]), (u[n] = c.slice(f))
                  e = u.join('\n')
                }
                return e
              }),
              (e.prototype.isNextLineUnIndentedCollection = function (e) {
                var t, n
                for (
                  null == e && (e = null),
                    null == e && (e = this.getCurrentLineIndentation()),
                    t = this.moveToNextLine();
                  t && this.isCurrentLineEmpty();

                )
                  t = this.moveToNextLine()
                return (
                  !1 !== t &&
                  ((n = !1),
                  this.getCurrentLineIndentation() === e &&
                    this.isStringUnIndentedCollectionItem(this.currentLine) &&
                    (n = !0),
                  this.moveToPreviousLine(),
                  n)
                )
              }),
              (e.prototype.isStringUnIndentedCollectionItem = function () {
                return (
                  '-' === this.currentLine ||
                  '- ' === this.currentLine.slice(0, 2)
                )
              }),
              e
            )
          })()),
          (e.exports = o)
      },
      4374: e => {
        var t
        ;(t = (function () {
          function e (e, t) {
            var n, r, s, i, o, a, l, c, u
            for (
              null == t && (t = ''),
                s = '',
                o = e.length,
                a = null,
                r = 0,
                i = 0;
              i < o;

            ) {
              if ('\\' === (n = e.charAt(i)))
                (s += e.slice(i, +(i + 1) + 1 || 9e9)), i++
              else if ('(' === n)
                if (i < o - 2)
                  if ('(?:' === (c = e.slice(i, +(i + 2) + 1 || 9e9)))
                    (i += 2), (s += c)
                  else if ('(?<' === c)
                    for (r++, i += 2, l = ''; i + 1 < o; ) {
                      if ('>' === (u = e.charAt(i + 1))) {
                        ;(s += '('),
                          i++,
                          l.length > 0 && (null == a && (a = {}), (a[l] = r))
                        break
                      }
                      ;(l += u), i++
                    }
                  else (s += n), r++
                else s += n
              else s += n
              i++
            }
            ;(this.rawRegex = e),
              (this.cleanedRegex = s),
              (this.regex = new RegExp(
                this.cleanedRegex,
                'g' + t.replace('g', '')
              )),
              (this.mapping = a)
          }
          return (
            (e.prototype.regex = null),
            (e.prototype.rawRegex = null),
            (e.prototype.cleanedRegex = null),
            (e.prototype.mapping = null),
            (e.prototype.exec = function (e) {
              var t, n, r, s
              if (
                ((this.regex.lastIndex = 0), null == (n = this.regex.exec(e)))
              )
                return null
              if (null != this.mapping)
                for (r in (s = this.mapping)) (t = s[r]), (n[r] = n[t])
              return n
            }),
            (e.prototype.test = function (e) {
              return (this.regex.lastIndex = 0), this.regex.test(e)
            }),
            (e.prototype.replace = function (e, t) {
              return (this.regex.lastIndex = 0), e.replace(this.regex, t)
            }),
            (e.prototype.replaceAll = function (e, t, n) {
              var r
              for (
                null == n && (n = 0), this.regex.lastIndex = 0, r = 0;
                this.regex.test(e) && (0 === n || r < n);

              )
                (this.regex.lastIndex = 0), (e = e.replace(this.regex, t)), r++
              return [e, r]
            }),
            e
          )
        })()),
          (e.exports = t)
      },
      6928: (e, t, n) => {
        var r, s, i
        ;(i = n(317)),
          (r = n(4374)),
          (s = (function () {
            function e () {}
            return (
              (e.PATTERN_ESCAPED_CHARACTER = new r(
                '\\\\([0abt\tnvfre "\\/\\\\N_LP]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})'
              )),
              (e.unescapeSingleQuotedString = function (e) {
                return e.replace(/\'\'/g, "'")
              }),
              (e.unescapeDoubleQuotedString = function (e) {
                var t
                return (
                  null == this._unescapeCallback &&
                    (this._unescapeCallback =
                      ((t = this),
                      function (e) {
                        return t.unescapeCharacter(e)
                      })),
                  this.PATTERN_ESCAPED_CHARACTER.replace(
                    e,
                    this._unescapeCallback
                  )
                )
              }),
              (e.unescapeCharacter = function (e) {
                var t
                switch (((t = String.fromCharCode), e.charAt(1))) {
                  case '0':
                    return t(0)
                  case 'a':
                    return t(7)
                  case 'b':
                    return t(8)
                  case 't':
                  case '\t':
                    return '\t'
                  case 'n':
                    return '\n'
                  case 'v':
                    return t(11)
                  case 'f':
                    return t(12)
                  case 'r':
                    return t(13)
                  case 'e':
                    return t(27)
                  case ' ':
                    return ' '
                  case '"':
                    return '"'
                  case '/':
                    return '/'
                  case '\\':
                    return '\\'
                  case 'N':
                    return t(133)
                  case '_':
                    return t(160)
                  case 'L':
                    return t(8232)
                  case 'P':
                    return t(8233)
                  case 'x':
                    return i.utf8chr(i.hexDec(e.substr(2, 2)))
                  case 'u':
                    return i.utf8chr(i.hexDec(e.substr(2, 4)))
                  case 'U':
                    return i.utf8chr(i.hexDec(e.substr(2, 8)))
                  default:
                    return ''
                }
              }),
              e
            )
          })()),
          (e.exports = s)
      },
      317: (e, t, n) => {
        var r,
          s,
          i = {}.hasOwnProperty
        ;(r = n(4374)),
          (s = (function () {
            function e () {}
            return (
              (e.REGEX_LEFT_TRIM_BY_CHAR = {}),
              (e.REGEX_RIGHT_TRIM_BY_CHAR = {}),
              (e.REGEX_SPACES = /\s+/g),
              (e.REGEX_DIGITS = /^\d+$/),
              (e.REGEX_OCTAL = /[^0-7]/gi),
              (e.REGEX_HEXADECIMAL = /[^a-f0-9]/gi),
              (e.PATTERN_DATE = new r(
                '^(?<year>[0-9][0-9][0-9][0-9])-(?<month>[0-9][0-9]?)-(?<day>[0-9][0-9]?)(?:(?:[Tt]|[ \t]+)(?<hour>[0-9][0-9]?):(?<minute>[0-9][0-9]):(?<second>[0-9][0-9])(?:.(?<fraction>[0-9]*))?(?:[ \t]*(?<tz>Z|(?<tz_sign>[-+])(?<tz_hour>[0-9][0-9]?)(?::(?<tz_minute>[0-9][0-9]))?))?)?$',
                'i'
              )),
              (e.LOCAL_TIMEZONE_OFFSET =
                60 * new Date().getTimezoneOffset() * 1e3),
              (e.trim = function (e, t) {
                var n, r
                return (
                  null == t && (t = '\\s'),
                  null == (n = this.REGEX_LEFT_TRIM_BY_CHAR[t]) &&
                    (this.REGEX_LEFT_TRIM_BY_CHAR[t] = n = new RegExp(
                      '^' + t + t + '*'
                    )),
                  (n.lastIndex = 0),
                  null == (r = this.REGEX_RIGHT_TRIM_BY_CHAR[t]) &&
                    (this.REGEX_RIGHT_TRIM_BY_CHAR[t] = r = new RegExp(
                      t + '' + t + '*$'
                    )),
                  (r.lastIndex = 0),
                  e.replace(n, '').replace(r, '')
                )
              }),
              (e.ltrim = function (e, t) {
                var n
                return (
                  null == t && (t = '\\s'),
                  null == (n = this.REGEX_LEFT_TRIM_BY_CHAR[t]) &&
                    (this.REGEX_LEFT_TRIM_BY_CHAR[t] = n = new RegExp(
                      '^' + t + t + '*'
                    )),
                  (n.lastIndex = 0),
                  e.replace(n, '')
                )
              }),
              (e.rtrim = function (e, t) {
                var n
                return (
                  null == t && (t = '\\s'),
                  null == (n = this.REGEX_RIGHT_TRIM_BY_CHAR[t]) &&
                    (this.REGEX_RIGHT_TRIM_BY_CHAR[t] = n = new RegExp(
                      t + '' + t + '*$'
                    )),
                  (n.lastIndex = 0),
                  e.replace(n, '')
                )
              }),
              (e.isEmpty = function (e) {
                return (
                  !e ||
                  '' === e ||
                  '0' === e ||
                  (e instanceof Array && 0 === e.length) ||
                  this.isEmptyObject(e)
                )
              }),
              (e.isEmptyObject = function (e) {
                var t
                return (
                  e instanceof Object &&
                  0 ===
                    (function () {
                      var n
                      for (t in ((n = []), e)) i.call(e, t) && n.push(t)
                      return n
                    })().length
                )
              }),
              (e.subStrCount = function (e, t, n, r) {
                var s, i, o, a, l, c
                for (
                  s = 0,
                    e = '' + e,
                    t = '' + t,
                    null != n && (e = e.slice(n)),
                    null != r && (e = e.slice(0, r)),
                    a = e.length,
                    c = t.length,
                    i = o = 0,
                    l = a;
                  0 <= l ? o < l : o > l;
                  i = 0 <= l ? ++o : --o
                )
                  t === e.slice(i, c) && (s++, (i += c - 1))
                return s
              }),
              (e.isDigits = function (e) {
                return (
                  (this.REGEX_DIGITS.lastIndex = 0), this.REGEX_DIGITS.test(e)
                )
              }),
              (e.octDec = function (e) {
                return (
                  (this.REGEX_OCTAL.lastIndex = 0),
                  parseInt((e + '').replace(this.REGEX_OCTAL, ''), 8)
                )
              }),
              (e.hexDec = function (e) {
                return (
                  (this.REGEX_HEXADECIMAL.lastIndex = 0),
                  '0x' === ((e = this.trim(e)) + '').slice(0, 2) &&
                    (e = (e + '').slice(2)),
                  parseInt((e + '').replace(this.REGEX_HEXADECIMAL, ''), 16)
                )
              }),
              (e.utf8chr = function (e) {
                var t
                return (
                  (t = String.fromCharCode),
                  128 > (e %= 2097152)
                    ? t(e)
                    : 2048 > e
                    ? t(192 | (e >> 6)) + t(128 | (63 & e))
                    : 65536 > e
                    ? t(224 | (e >> 12)) +
                      t(128 | ((e >> 6) & 63)) +
                      t(128 | (63 & e))
                    : t(240 | (e >> 18)) +
                      t(128 | ((e >> 12) & 63)) +
                      t(128 | ((e >> 6) & 63)) +
                      t(128 | (63 & e))
                )
              }),
              (e.parseBoolean = function (e, t) {
                var n
                return (
                  null == t && (t = !0),
                  'string' == typeof e
                    ? ((n = e.toLowerCase()),
                      !(!t && 'no' === n) &&
                        '0' !== n &&
                        'false' !== n &&
                        '' !== n)
                    : !!e
                )
              }),
              (e.isNumeric = function (e) {
                return (
                  (this.REGEX_SPACES.lastIndex = 0),
                  'number' == typeof e ||
                    ('string' == typeof e &&
                      !isNaN(e) &&
                      '' !== e.replace(this.REGEX_SPACES, ''))
                )
              }),
              (e.stringToDate = function (e) {
                var t, n, r, s, i, o, a, l, c, u
                if (!(null != e ? e.length : void 0)) return null
                if (!(i = this.PATTERN_DATE.exec(e))) return null
                if (
                  ((u = parseInt(i.year, 10)),
                  (a = parseInt(i.month, 10) - 1),
                  (n = parseInt(i.day, 10)),
                  null == i.hour)
                )
                  return new Date(Date.UTC(u, a, n))
                if (
                  ((s = parseInt(i.hour, 10)),
                  (o = parseInt(i.minute, 10)),
                  (l = parseInt(i.second, 10)),
                  null != i.fraction)
                ) {
                  for (r = i.fraction.slice(0, 3); r.length < 3; ) r += '0'
                  r = parseInt(r, 10)
                } else r = 0
                return (
                  null != i.tz &&
                    ((c =
                      6e4 *
                      (60 * parseInt(i.tz_hour, 10) +
                        (null != i.tz_minute ? parseInt(i.tz_minute, 10) : 0))),
                    '-' === i.tz_sign && (c *= -1)),
                  (t = new Date(Date.UTC(u, a, n, s, o, l, r))),
                  c && t.setTime(t.getTime() - c),
                  t
                )
              }),
              (e.strRepeat = function (e, t) {
                var n, r
                for (r = '', n = 0; n < t; ) (r += e), n++
                return r
              }),
              (e.getStringFromFile = function (e, t) {
                var r, s, i, o, a, l, c
                if (
                  (null == t && (t = null),
                  (c = null),
                  'undefined' != typeof window && null !== window)
                )
                  if (window.XMLHttpRequest) c = new XMLHttpRequest()
                  else if (window.ActiveXObject)
                    for (
                      i = 0,
                        o = (l = [
                          'Msxml2.XMLHTTP.6.0',
                          'Msxml2.XMLHTTP.3.0',
                          'Msxml2.XMLHTTP',
                          'Microsoft.XMLHTTP'
                        ]).length;
                      i < o;
                      i++
                    ) {
                      a = l[i]
                      try {
                        c = new ActiveXObject(a)
                      } catch (e) {}
                    }
                return null != c
                  ? null != t
                    ? ((c.onreadystatechange = function () {
                        if (4 === c.readyState)
                          return 200 === c.status || 0 === c.status
                            ? t(c.responseText)
                            : t(null)
                      }),
                      c.open('GET', e, !0),
                      c.send(null))
                    : (c.open('GET', e, !1),
                      c.send(null),
                      200 === c.status || 0 === c.status
                        ? c.responseText
                        : null)
                  : ((s = n(3781)),
                    null != t
                      ? s.readFile(e, function (e, n) {
                          return t(e ? null : String(n))
                        })
                      : null != (r = s.readFileSync(e))
                      ? String(r)
                      : null)
              }),
              e
            )
          })()),
          (e.exports = s)
      },
      8441: function (e, t, n) {
        var r, s, i, o
        ;(s = n(3146)),
          (r = n(4681)),
          (i = n(317)),
          (o = (function () {
            function e () {}
            return (
              (e.parse = function (e, t, n) {
                return (
                  null == t && (t = !1),
                  null == n && (n = null),
                  new s().parse(e, t, n)
                )
              }),
              (e.parseFile = function (e, t, n, r) {
                var s, o
                return (
                  null == t && (t = null),
                  null == n && (n = !1),
                  null == r && (r = null),
                  null != t
                    ? i.getStringFromFile(
                        e,
                        ((o = this),
                        function (e) {
                          var s
                          ;(s = null), null != e && (s = o.parse(e, n, r)), t(s)
                        })
                      )
                    : null != (s = i.getStringFromFile(e))
                    ? this.parse(s, n, r)
                    : null
                )
              }),
              (e.dump = function (e, t, n, s, i) {
                var o
                return (
                  null == t && (t = 2),
                  null == n && (n = 4),
                  null == s && (s = !1),
                  null == i && (i = null),
                  ((o = new r()).indentation = n),
                  o.dump(e, t, 0, s, i)
                )
              }),
              (e.stringify = function (e, t, n, r, s) {
                return this.dump(e, t, n, r, s)
              }),
              (e.load = function (e, t, n, r) {
                return this.parseFile(e, t, n, r)
              }),
              e
            )
          })()),
          'undefined' != typeof window && null !== window && (window.YAML = o),
          ('undefined' != typeof window && null !== window) || (this.YAML = o),
          (e.exports = o)
      },
      435: e => {
        'use strict'
        e.exports =
          'curl "https://api.test.com/" -u "some_username:some_password"\n'
      },
      1369: e => {
        'use strict'
        e.exports =
          "curl 'http://en.wikipedia.org/' \\\n    -H 'Accept-Encoding: gzip, deflate, sdch' \\\n    -H 'Accept-Language: en-US,en;q=0.8' \\\n    -H 'User-Agent: {{useragent}}' \\\n    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \\\n    -H 'Referer: http://www.wikipedia.org/' \\\n    -H 'Connection: keep-alive' --compressed\n"
      },
      1336: e => {
        'use strict'
        e.exports =
          "curl 'http://fiddle.jshell.net/echo/html/' \\\n    -H 'Origin: http://fiddle.jshell.net' \\\n    -H 'Accept-Encoding: gzip, deflate' \\\n    -H 'Accept-Language: en-US,en;q=0.8' \\\n    -H 'User-Agent: {{useragent}}' \\\n    -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \\\n    -H 'Accept: */*' \\\n    -H 'Referer: http://fiddle.jshell.net/_display/' \\\n    -H 'X-Requested-With: XMLHttpRequest' \\\n    -H 'Connection: keep-alive' \\\n    --data 'msg1=wow&msg2=such&msg3=data' --compressed\n"
      },
      8498: () => {},
      3781: () => {},
      2324: e => {
        var t = { exports: {} }
        function n (e) {
          return (
            e instanceof Map
              ? (e.clear = e.delete = e.set = function () {
                  throw new Error('map is read-only')
                })
              : e instanceof Set &&
                (e.add = e.clear = e.delete = function () {
                  throw new Error('set is read-only')
                }),
            Object.freeze(e),
            Object.getOwnPropertyNames(e).forEach(function (t) {
              var r = e[t]
              'object' != typeof r || Object.isFrozen(r) || n(r)
            }),
            e
          )
        }
        ;(t.exports = n), (t.exports.default = n)
        class r {
          constructor (e) {
            void 0 === e.data && (e.data = {}),
              (this.data = e.data),
              (this.isMatchIgnored = !1)
          }
          ignoreMatch () {
            this.isMatchIgnored = !0
          }
        }
        function s (e) {
          return e
            .replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;')
            .replace(/'/g, '&#x27;')
        }
        function i (e, ...t) {
          const n = Object.create(null)
          for (const t in e) n[t] = e[t]
          return (
            t.forEach(function (e) {
              for (const t in e) n[t] = e[t]
            }),
            n
          )
        }
        const o = e => !!e.scope || (e.sublanguage && e.language)
        class a {
          constructor (e, t) {
            ;(this.buffer = ''),
              (this.classPrefix = t.classPrefix),
              e.walk(this)
          }
          addText (e) {
            this.buffer += s(e)
          }
          openNode (e) {
            if (!o(e)) return
            let t = ''
            ;(t = e.sublanguage
              ? `language-${e.language}`
              : ((e, { prefix: t }) => {
                  if (e.includes('.')) {
                    const n = e.split('.')
                    return [
                      `${t}${n.shift()}`,
                      ...n.map((e, t) => `${e}${'_'.repeat(t + 1)}`)
                    ].join(' ')
                  }
                  return `${t}${e}`
                })(e.scope, { prefix: this.classPrefix })),
              this.span(t)
          }
          closeNode (e) {
            o(e) && (this.buffer += '</span>')
          }
          value () {
            return this.buffer
          }
          span (e) {
            this.buffer += `<span class="${e}">`
          }
        }
        const l = (e = {}) => {
          const t = { children: [] }
          return Object.assign(t, e), t
        }
        class c {
          constructor () {
            ;(this.rootNode = l()), (this.stack = [this.rootNode])
          }
          get top () {
            return this.stack[this.stack.length - 1]
          }
          get root () {
            return this.rootNode
          }
          add (e) {
            this.top.children.push(e)
          }
          openNode (e) {
            const t = l({ scope: e })
            this.add(t), this.stack.push(t)
          }
          closeNode () {
            if (this.stack.length > 1) return this.stack.pop()
          }
          closeAllNodes () {
            for (; this.closeNode(); );
          }
          toJSON () {
            return JSON.stringify(this.rootNode, null, 4)
          }
          walk (e) {
            return this.constructor._walk(e, this.rootNode)
          }
          static _walk (e, t) {
            return (
              'string' == typeof t
                ? e.addText(t)
                : t.children &&
                  (e.openNode(t),
                  t.children.forEach(t => this._walk(e, t)),
                  e.closeNode(t)),
              e
            )
          }
          static _collapse (e) {
            'string' != typeof e &&
              e.children &&
              (e.children.every(e => 'string' == typeof e)
                ? (e.children = [e.children.join('')])
                : e.children.forEach(e => {
                    c._collapse(e)
                  }))
          }
        }
        class u extends c {
          constructor (e) {
            super(), (this.options = e)
          }
          addKeyword (e, t) {
            '' !== e && (this.openNode(t), this.addText(e), this.closeNode())
          }
          addText (e) {
            '' !== e && this.add(e)
          }
          addSublanguage (e, t) {
            const n = e.root
            ;(n.sublanguage = !0), (n.language = t), this.add(n)
          }
          toHTML () {
            return new a(this, this.options).value()
          }
          finalize () {
            return !0
          }
        }
        function d (e) {
          return e ? ('string' == typeof e ? e : e.source) : null
        }
        function p (e) {
          return m('(?=', e, ')')
        }
        function h (e) {
          return m('(?:', e, ')*')
        }
        function f (e) {
          return m('(?:', e, ')?')
        }
        function m (...e) {
          return e.map(e => d(e)).join('')
        }
        function _ (...e) {
          const t = (function (e) {
            const t = e[e.length - 1]
            return 'object' == typeof t && t.constructor === Object
              ? (e.splice(e.length - 1, 1), t)
              : {}
          })(e)
          return (
            '(' + (t.capture ? '' : '?:') + e.map(e => d(e)).join('|') + ')'
          )
        }
        function g (e) {
          return new RegExp(e.toString() + '|').exec('').length - 1
        }
        const b = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
        function y (e, { joinWith: t }) {
          let n = 0
          return e
            .map(e => {
              n += 1
              const t = n
              let r = d(e),
                s = ''
              for (; r.length > 0; ) {
                const e = b.exec(r)
                if (!e) {
                  s += r
                  break
                }
                ;(s += r.substring(0, e.index)),
                  (r = r.substring(e.index + e[0].length)),
                  '\\' === e[0][0] && e[1]
                    ? (s += '\\' + String(Number(e[1]) + t))
                    : ((s += e[0]), '(' === e[0] && n++)
              }
              return s
            })
            .map(e => `(${e})`)
            .join(t)
        }
        const w = '[a-zA-Z]\\w*',
          v = '[a-zA-Z_]\\w*',
          E = '\\b\\d+(\\.\\d+)?',
          x =
            '(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)',
          A = '\\b(0b[01]+)',
          S = { begin: '\\\\[\\s\\S]', relevance: 0 },
          C = {
            scope: 'string',
            begin: "'",
            end: "'",
            illegal: '\\n',
            contains: [S]
          },
          T = {
            scope: 'string',
            begin: '"',
            end: '"',
            illegal: '\\n',
            contains: [S]
          },
          N = function (e, t, n = {}) {
            const r = i({ scope: 'comment', begin: e, end: t, contains: [] }, n)
            r.contains.push({
              scope: 'doctag',
              begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
              end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,
              excludeBegin: !0,
              relevance: 0
            })
            const s = _(
              'I',
              'a',
              'is',
              'so',
              'us',
              'to',
              'at',
              'if',
              'in',
              'it',
              'on',
              /[A-Za-z]+['](d|ve|re|ll|t|s|n)/,
              /[A-Za-z]+[-][a-z]+/,
              /[A-Za-z][a-z]{2,}/
            )
            return (
              r.contains.push({
                begin: m(/[ ]+/, '(', s, /[.]?[:]?([.][ ]|[ ])/, '){3}')
              }),
              r
            )
          },
          O = N('//', '$'),
          k = N('/\\*', '\\*/'),
          I = N('#', '$'),
          L = { scope: 'number', begin: E, relevance: 0 },
          P = { scope: 'number', begin: x, relevance: 0 },
          R = { scope: 'number', begin: A, relevance: 0 },
          M = {
            begin: /(?=\/[^/\n]*\/)/,
            contains: [
              {
                scope: 'regexp',
                begin: /\//,
                end: /\/[gimuy]*/,
                illegal: /\n/,
                contains: [
                  S,
                  { begin: /\[/, end: /\]/, relevance: 0, contains: [S] }
                ]
              }
            ]
          },
          D = { scope: 'title', begin: w, relevance: 0 },
          j = { scope: 'title', begin: v, relevance: 0 }
        var F = Object.freeze({
          __proto__: null,
          MATCH_NOTHING_RE: /\b\B/,
          IDENT_RE: w,
          UNDERSCORE_IDENT_RE: v,
          NUMBER_RE: E,
          C_NUMBER_RE: x,
          BINARY_NUMBER_RE: A,
          RE_STARTERS_RE:
            '!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~',
          SHEBANG: (e = {}) => {
            const t = /^#![ ]*\//
            return (
              e.binary && (e.begin = m(t, /.*\b/, e.binary, /\b.*/)),
              i(
                {
                  scope: 'meta',
                  begin: t,
                  end: /$/,
                  relevance: 0,
                  'on:begin': (e, t) => {
                    0 !== e.index && t.ignoreMatch()
                  }
                },
                e
              )
            )
          },
          BACKSLASH_ESCAPE: S,
          APOS_STRING_MODE: C,
          QUOTE_STRING_MODE: T,
          PHRASAL_WORDS_MODE: {
            begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
          },
          COMMENT: N,
          C_LINE_COMMENT_MODE: O,
          C_BLOCK_COMMENT_MODE: k,
          HASH_COMMENT_MODE: I,
          NUMBER_MODE: L,
          C_NUMBER_MODE: P,
          BINARY_NUMBER_MODE: R,
          REGEXP_MODE: M,
          TITLE_MODE: D,
          UNDERSCORE_TITLE_MODE: j,
          METHOD_GUARD: { begin: '\\.\\s*[a-zA-Z_]\\w*', relevance: 0 },
          END_SAME_AS_BEGIN: function (e) {
            return Object.assign(e, {
              'on:begin': (e, t) => {
                t.data._beginMatch = e[1]
              },
              'on:end': (e, t) => {
                t.data._beginMatch !== e[1] && t.ignoreMatch()
              }
            })
          }
        })
        function q (e, t) {
          '.' === e.input[e.index - 1] && t.ignoreMatch()
        }
        function $ (e, t) {
          void 0 !== e.className &&
            ((e.scope = e.className), delete e.className)
        }
        function B (e, t) {
          t &&
            e.beginKeywords &&
            ((e.begin =
              '\\b(' +
              e.beginKeywords.split(' ').join('|') +
              ')(?!\\.)(?=\\b|\\s)'),
            (e.__beforeBegin = q),
            (e.keywords = e.keywords || e.beginKeywords),
            delete e.beginKeywords,
            void 0 === e.relevance && (e.relevance = 0))
        }
        function U (e, t) {
          Array.isArray(e.illegal) && (e.illegal = _(...e.illegal))
        }
        function H (e, t) {
          if (e.match) {
            if (e.begin || e.end)
              throw new Error('begin & end are not supported with match')
            ;(e.begin = e.match), delete e.match
          }
        }
        function W (e, t) {
          void 0 === e.relevance && (e.relevance = 1)
        }
        const z = (e, t) => {
            if (!e.beforeMatch) return
            if (e.starts)
              throw new Error('beforeMatch cannot be used with starts')
            const n = Object.assign({}, e)
            Object.keys(e).forEach(t => {
              delete e[t]
            }),
              (e.keywords = n.keywords),
              (e.begin = m(n.beforeMatch, p(n.begin))),
              (e.starts = {
                relevance: 0,
                contains: [Object.assign(n, { endsParent: !0 })]
              }),
              (e.relevance = 0),
              delete n.beforeMatch
          },
          K = [
            'of',
            'and',
            'for',
            'in',
            'not',
            'or',
            'if',
            'then',
            'parent',
            'list',
            'value'
          ]
        function Z (e, t, n = 'keyword') {
          const r = Object.create(null)
          return (
            'string' == typeof e
              ? s(n, e.split(' '))
              : Array.isArray(e)
              ? s(n, e)
              : Object.keys(e).forEach(function (n) {
                  Object.assign(r, Z(e[n], t, n))
                }),
            r
          )
          function s (e, n) {
            t && (n = n.map(e => e.toLowerCase())),
              n.forEach(function (t) {
                const n = t.split('|')
                r[n[0]] = [e, G(n[0], n[1])]
              })
          }
        }
        function G (e, t) {
          return t
            ? Number(t)
            : (function (e) {
                return K.includes(e.toLowerCase())
              })(e)
            ? 0
            : 1
        }
        const X = {},
          Q = e => {
            console.error(e)
          },
          V = (e, ...t) => {
            console.log(`WARN: ${e}`, ...t)
          },
          Y = (e, t) => {
            X[`${e}/${t}`] ||
              (console.log(`Deprecated as of ${e}. ${t}`),
              (X[`${e}/${t}`] = !0))
          },
          J = new Error()
        function ee (e, t, { key: n }) {
          let r = 0
          const s = e[n],
            i = {},
            o = {}
          for (let e = 1; e <= t.length; e++)
            (o[e + r] = s[e]), (i[e + r] = !0), (r += g(t[e - 1]))
          ;(e[n] = o), (e[n]._emit = i), (e[n]._multi = !0)
        }
        function te (e) {
          !(function (e) {
            e.scope &&
              'object' == typeof e.scope &&
              null !== e.scope &&
              ((e.beginScope = e.scope), delete e.scope)
          })(e),
            'string' == typeof e.beginScope &&
              (e.beginScope = { _wrap: e.beginScope }),
            'string' == typeof e.endScope &&
              (e.endScope = { _wrap: e.endScope }),
            (function (e) {
              if (Array.isArray(e.begin)) {
                if (e.skip || e.excludeBegin || e.returnBegin)
                  throw (Q(
                    'skip, excludeBegin, returnBegin not compatible with beginScope: {}'
                  ),
                  J)
                if ('object' != typeof e.beginScope || null === e.beginScope)
                  throw (Q('beginScope must be object'), J)
                ee(e, e.begin, { key: 'beginScope' }),
                  (e.begin = y(e.begin, { joinWith: '' }))
              }
            })(e),
            (function (e) {
              if (Array.isArray(e.end)) {
                if (e.skip || e.excludeEnd || e.returnEnd)
                  throw (Q(
                    'skip, excludeEnd, returnEnd not compatible with endScope: {}'
                  ),
                  J)
                if ('object' != typeof e.endScope || null === e.endScope)
                  throw (Q('endScope must be object'), J)
                ee(e, e.end, { key: 'endScope' }),
                  (e.end = y(e.end, { joinWith: '' }))
              }
            })(e)
        }
        function ne (e) {
          function t (t, n) {
            return new RegExp(
              d(t),
              'm' +
                (e.case_insensitive ? 'i' : '') +
                (e.unicodeRegex ? 'u' : '') +
                (n ? 'g' : '')
            )
          }
          class n {
            constructor () {
              ;(this.matchIndexes = {}),
                (this.regexes = []),
                (this.matchAt = 1),
                (this.position = 0)
            }
            addRule (e, t) {
              ;(t.position = this.position++),
                (this.matchIndexes[this.matchAt] = t),
                this.regexes.push([t, e]),
                (this.matchAt += g(e) + 1)
            }
            compile () {
              0 === this.regexes.length && (this.exec = () => null)
              const e = this.regexes.map(e => e[1])
              ;(this.matcherRe = t(y(e, { joinWith: '|' }), !0)),
                (this.lastIndex = 0)
            }
            exec (e) {
              this.matcherRe.lastIndex = this.lastIndex
              const t = this.matcherRe.exec(e)
              if (!t) return null
              const n = t.findIndex((e, t) => t > 0 && void 0 !== e),
                r = this.matchIndexes[n]
              return t.splice(0, n), Object.assign(t, r)
            }
          }
          class r {
            constructor () {
              ;(this.rules = []),
                (this.multiRegexes = []),
                (this.count = 0),
                (this.lastIndex = 0),
                (this.regexIndex = 0)
            }
            getMatcher (e) {
              if (this.multiRegexes[e]) return this.multiRegexes[e]
              const t = new n()
              return (
                this.rules.slice(e).forEach(([e, n]) => t.addRule(e, n)),
                t.compile(),
                (this.multiRegexes[e] = t),
                t
              )
            }
            resumingScanAtSamePosition () {
              return 0 !== this.regexIndex
            }
            considerAll () {
              this.regexIndex = 0
            }
            addRule (e, t) {
              this.rules.push([e, t]), 'begin' === t.type && this.count++
            }
            exec (e) {
              const t = this.getMatcher(this.regexIndex)
              t.lastIndex = this.lastIndex
              let n = t.exec(e)
              if (this.resumingScanAtSamePosition())
                if (n && n.index === this.lastIndex);
                else {
                  const t = this.getMatcher(0)
                  ;(t.lastIndex = this.lastIndex + 1), (n = t.exec(e))
                }
              return (
                n &&
                  ((this.regexIndex += n.position + 1),
                  this.regexIndex === this.count && this.considerAll()),
                n
              )
            }
          }
          if (
            (e.compilerExtensions || (e.compilerExtensions = []),
            e.contains && e.contains.includes('self'))
          )
            throw new Error(
              'ERR: contains `self` is not supported at the top-level of a language.  See documentation.'
            )
          return (
            (e.classNameAliases = i(e.classNameAliases || {})),
            (function n (s, o) {
              const a = s
              if (s.isCompiled) return a
              ;[$, H, te, z].forEach(e => e(s, o)),
                e.compilerExtensions.forEach(e => e(s, o)),
                (s.__beforeBegin = null),
                [B, U, W].forEach(e => e(s, o)),
                (s.isCompiled = !0)
              let l = null
              return (
                'object' == typeof s.keywords &&
                  s.keywords.$pattern &&
                  ((s.keywords = Object.assign({}, s.keywords)),
                  (l = s.keywords.$pattern),
                  delete s.keywords.$pattern),
                (l = l || /\w+/),
                s.keywords && (s.keywords = Z(s.keywords, e.case_insensitive)),
                (a.keywordPatternRe = t(l, !0)),
                o &&
                  (s.begin || (s.begin = /\B|\b/),
                  (a.beginRe = t(a.begin)),
                  s.end || s.endsWithParent || (s.end = /\B|\b/),
                  s.end && (a.endRe = t(a.end)),
                  (a.terminatorEnd = d(a.end) || ''),
                  s.endsWithParent &&
                    o.terminatorEnd &&
                    (a.terminatorEnd += (s.end ? '|' : '') + o.terminatorEnd)),
                s.illegal && (a.illegalRe = t(s.illegal)),
                s.contains || (s.contains = []),
                (s.contains = [].concat(
                  ...s.contains.map(function (e) {
                    return (function (e) {
                      return (
                        e.variants &&
                          !e.cachedVariants &&
                          (e.cachedVariants = e.variants.map(function (t) {
                            return i(e, { variants: null }, t)
                          })),
                        e.cachedVariants
                          ? e.cachedVariants
                          : re(e)
                          ? i(e, { starts: e.starts ? i(e.starts) : null })
                          : Object.isFrozen(e)
                          ? i(e)
                          : e
                      )
                    })('self' === e ? s : e)
                  })
                )),
                s.contains.forEach(function (e) {
                  n(e, a)
                }),
                s.starts && n(s.starts, o),
                (a.matcher = (function (e) {
                  const t = new r()
                  return (
                    e.contains.forEach(e =>
                      t.addRule(e.begin, { rule: e, type: 'begin' })
                    ),
                    e.terminatorEnd &&
                      t.addRule(e.terminatorEnd, { type: 'end' }),
                    e.illegal && t.addRule(e.illegal, { type: 'illegal' }),
                    t
                  )
                })(a)),
                a
              )
            })(e)
          )
        }
        function re (e) {
          return !!e && (e.endsWithParent || re(e.starts))
        }
        class se extends Error {
          constructor (e, t) {
            super(e), (this.name = 'HTMLInjectionError'), (this.html = t)
          }
        }
        const ie = s,
          oe = i,
          ae = Symbol('nomatch')
        var le = (function (e) {
          const n = Object.create(null),
            s = Object.create(null),
            i = []
          let o = !0
          const a =
              "Could not find the language '{}', did you forget to load/include a language module?",
            l = { disableAutodetect: !0, name: 'Plain text', contains: [] }
          let c = {
            ignoreUnescapedHTML: !1,
            throwUnescapedHTML: !1,
            noHighlightRe: /^(no-?highlight)$/i,
            languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i,
            classPrefix: 'hljs-',
            cssSelector: 'pre code',
            languages: null,
            __emitter: u
          }
          function d (e) {
            return c.noHighlightRe.test(e)
          }
          function g (e, t, n) {
            let r = '',
              s = ''
            'object' == typeof t
              ? ((r = e), (n = t.ignoreIllegals), (s = t.language))
              : (Y(
                  '10.7.0',
                  'highlight(lang, code, ...args) has been deprecated.'
                ),
                Y(
                  '10.7.0',
                  'Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277'
                ),
                (s = e),
                (r = t)),
              void 0 === n && (n = !0)
            const i = { code: r, language: s }
            C('before:highlight', i)
            const o = i.result ? i.result : b(i.language, i.code, n)
            return (o.code = i.code), C('after:highlight', o), o
          }
          function b (e, t, s, i) {
            const l = Object.create(null)
            function u () {
              if (!S.keywords) return void T.addText(N)
              let e = 0
              S.keywordPatternRe.lastIndex = 0
              let t = S.keywordPatternRe.exec(N),
                n = ''
              for (; t; ) {
                n += N.substring(e, t.index)
                const s = v.case_insensitive ? t[0].toLowerCase() : t[0],
                  i = ((r = s), S.keywords[r])
                if (i) {
                  const [e, r] = i
                  if (
                    (T.addText(n),
                    (n = ''),
                    (l[s] = (l[s] || 0) + 1),
                    l[s] <= 7 && (O += r),
                    e.startsWith('_'))
                  )
                    n += t[0]
                  else {
                    const n = v.classNameAliases[e] || e
                    T.addKeyword(t[0], n)
                  }
                } else n += t[0]
                ;(e = S.keywordPatternRe.lastIndex),
                  (t = S.keywordPatternRe.exec(N))
              }
              var r
              ;(n += N.substring(e)), T.addText(n)
            }
            function d () {
              null != S.subLanguage
                ? (function () {
                    if ('' === N) return
                    let e = null
                    if ('string' == typeof S.subLanguage) {
                      if (!n[S.subLanguage]) return void T.addText(N)
                      ;(e = b(S.subLanguage, N, !0, C[S.subLanguage])),
                        (C[S.subLanguage] = e._top)
                    } else e = y(N, S.subLanguage.length ? S.subLanguage : null)
                    S.relevance > 0 && (O += e.relevance),
                      T.addSublanguage(e._emitter, e.language)
                  })()
                : u(),
                (N = '')
            }
            function p (e, t) {
              let n = 1
              const r = t.length - 1
              for (; n <= r; ) {
                if (!e._emit[n]) {
                  n++
                  continue
                }
                const r = v.classNameAliases[e[n]] || e[n],
                  s = t[n]
                r ? T.addKeyword(s, r) : ((N = s), u(), (N = '')), n++
              }
            }
            function h (e, t) {
              return (
                e.scope &&
                  'string' == typeof e.scope &&
                  T.openNode(v.classNameAliases[e.scope] || e.scope),
                e.beginScope &&
                  (e.beginScope._wrap
                    ? (T.addKeyword(
                        N,
                        v.classNameAliases[e.beginScope._wrap] ||
                          e.beginScope._wrap
                      ),
                      (N = ''))
                    : e.beginScope._multi && (p(e.beginScope, t), (N = ''))),
                (S = Object.create(e, { parent: { value: S } })),
                S
              )
            }
            function f (e, t, n) {
              let s = (function (e, t) {
                const n = e && e.exec(t)
                return n && 0 === n.index
              })(e.endRe, n)
              if (s) {
                if (e['on:end']) {
                  const n = new r(e)
                  e['on:end'](t, n), n.isMatchIgnored && (s = !1)
                }
                if (s) {
                  for (; e.endsParent && e.parent; ) e = e.parent
                  return e
                }
              }
              if (e.endsWithParent) return f(e.parent, t, n)
            }
            function m (e) {
              return 0 === S.matcher.regexIndex
                ? ((N += e[0]), 1)
                : ((L = !0), 0)
            }
            function _ (e) {
              const n = e[0],
                r = t.substring(e.index),
                s = f(S, e, r)
              if (!s) return ae
              const i = S
              S.endScope && S.endScope._wrap
                ? (d(), T.addKeyword(n, S.endScope._wrap))
                : S.endScope && S.endScope._multi
                ? (d(), p(S.endScope, e))
                : i.skip
                ? (N += n)
                : (i.returnEnd || i.excludeEnd || (N += n),
                  d(),
                  i.excludeEnd && (N = n))
              do {
                S.scope && T.closeNode(),
                  S.skip || S.subLanguage || (O += S.relevance),
                  (S = S.parent)
              } while (S !== s.parent)
              return s.starts && h(s.starts, e), i.returnEnd ? 0 : n.length
            }
            let g = {}
            function w (n, i) {
              const a = i && i[0]
              if (((N += n), null == a)) return d(), 0
              if (
                'begin' === g.type &&
                'end' === i.type &&
                g.index === i.index &&
                '' === a
              ) {
                if (((N += t.slice(i.index, i.index + 1)), !o)) {
                  const t = new Error(`0 width match regex (${e})`)
                  throw ((t.languageName = e), (t.badRule = g.rule), t)
                }
                return 1
              }
              if (((g = i), 'begin' === i.type))
                return (function (e) {
                  const t = e[0],
                    n = e.rule,
                    s = new r(n),
                    i = [n.__beforeBegin, n['on:begin']]
                  for (const n of i)
                    if (n && (n(e, s), s.isMatchIgnored)) return m(t)
                  return (
                    n.skip
                      ? (N += t)
                      : (n.excludeBegin && (N += t),
                        d(),
                        n.returnBegin || n.excludeBegin || (N = t)),
                    h(n, e),
                    n.returnBegin ? 0 : t.length
                  )
                })(i)
              if ('illegal' === i.type && !s) {
                const e = new Error(
                  'Illegal lexeme "' +
                    a +
                    '" for mode "' +
                    (S.scope || '<unnamed>') +
                    '"'
                )
                throw ((e.mode = S), e)
              }
              if ('end' === i.type) {
                const e = _(i)
                if (e !== ae) return e
              }
              if ('illegal' === i.type && '' === a) return 1
              if (I > 1e5 && I > 3 * i.index)
                throw new Error(
                  'potential infinite loop, way more iterations than matches'
                )
              return (N += a), a.length
            }
            const v = x(e)
            if (!v)
              throw (Q(a.replace('{}', e)),
              new Error('Unknown language: "' + e + '"'))
            const E = ne(v)
            let A = '',
              S = i || E
            const C = {},
              T = new c.__emitter(c)
            !(function () {
              const e = []
              for (let t = S; t !== v; t = t.parent)
                t.scope && e.unshift(t.scope)
              e.forEach(e => T.openNode(e))
            })()
            let N = '',
              O = 0,
              k = 0,
              I = 0,
              L = !1
            try {
              for (S.matcher.considerAll(); ; ) {
                I++,
                  L ? (L = !1) : S.matcher.considerAll(),
                  (S.matcher.lastIndex = k)
                const e = S.matcher.exec(t)
                if (!e) break
                const n = w(t.substring(k, e.index), e)
                k = e.index + n
              }
              return (
                w(t.substring(k)),
                T.closeAllNodes(),
                T.finalize(),
                (A = T.toHTML()),
                {
                  language: e,
                  value: A,
                  relevance: O,
                  illegal: !1,
                  _emitter: T,
                  _top: S
                }
              )
            } catch (n) {
              if (n.message && n.message.includes('Illegal'))
                return {
                  language: e,
                  value: ie(t),
                  illegal: !0,
                  relevance: 0,
                  _illegalBy: {
                    message: n.message,
                    index: k,
                    context: t.slice(k - 100, k + 100),
                    mode: n.mode,
                    resultSoFar: A
                  },
                  _emitter: T
                }
              if (o)
                return {
                  language: e,
                  value: ie(t),
                  illegal: !1,
                  relevance: 0,
                  errorRaised: n,
                  _emitter: T,
                  _top: S
                }
              throw n
            }
          }
          function y (e, t) {
            t = t || c.languages || Object.keys(n)
            const r = (function (e) {
                const t = {
                  value: ie(e),
                  illegal: !1,
                  relevance: 0,
                  _top: l,
                  _emitter: new c.__emitter(c)
                }
                return t._emitter.addText(e), t
              })(e),
              s = t
                .filter(x)
                .filter(S)
                .map(t => b(t, e, !1))
            s.unshift(r)
            const i = s.sort((e, t) => {
                if (e.relevance !== t.relevance)
                  return t.relevance - e.relevance
                if (e.language && t.language) {
                  if (x(e.language).supersetOf === t.language) return 1
                  if (x(t.language).supersetOf === e.language) return -1
                }
                return 0
              }),
              [o, a] = i,
              u = o
            return (u.secondBest = a), u
          }
          function w (e) {
            let t = null
            const n = (function (e) {
              let t = e.className + ' '
              t += e.parentNode ? e.parentNode.className : ''
              const n = c.languageDetectRe.exec(t)
              if (n) {
                const t = x(n[1])
                return (
                  t ||
                    (V(a.replace('{}', n[1])),
                    V('Falling back to no-highlight mode for this block.', e)),
                  t ? n[1] : 'no-highlight'
                )
              }
              return t.split(/\s+/).find(e => d(e) || x(e))
            })(e)
            if (d(n)) return
            if (
              (C('before:highlightElement', { el: e, language: n }),
              e.children.length > 0 &&
                (c.ignoreUnescapedHTML ||
                  (console.warn(
                    'One of your code blocks includes unescaped HTML. This is a potentially serious security risk.'
                  ),
                  console.warn(
                    'https://github.com/highlightjs/highlight.js/wiki/security'
                  ),
                  console.warn('The element with unescaped HTML:'),
                  console.warn(e)),
                c.throwUnescapedHTML))
            )
              throw new se(
                'One of your code blocks includes unescaped HTML.',
                e.innerHTML
              )
            t = e
            const r = t.textContent,
              i = n ? g(r, { language: n, ignoreIllegals: !0 }) : y(r)
            ;(e.innerHTML = i.value),
              (function (e, t, n) {
                const r = (t && s[t]) || n
                e.classList.add('hljs'), e.classList.add(`language-${r}`)
              })(e, n, i.language),
              (e.result = {
                language: i.language,
                re: i.relevance,
                relevance: i.relevance
              }),
              i.secondBest &&
                (e.secondBest = {
                  language: i.secondBest.language,
                  relevance: i.secondBest.relevance
                }),
              C('after:highlightElement', { el: e, result: i, text: r })
          }
          let v = !1
          function E () {
            'loading' !== document.readyState
              ? document.querySelectorAll(c.cssSelector).forEach(w)
              : (v = !0)
          }
          function x (e) {
            return (e = (e || '').toLowerCase()), n[e] || n[s[e]]
          }
          function A (e, { languageName: t }) {
            'string' == typeof e && (e = [e]),
              e.forEach(e => {
                s[e.toLowerCase()] = t
              })
          }
          function S (e) {
            const t = x(e)
            return t && !t.disableAutodetect
          }
          function C (e, t) {
            const n = e
            i.forEach(function (e) {
              e[n] && e[n](t)
            })
          }
          'undefined' != typeof window &&
            window.addEventListener &&
            window.addEventListener(
              'DOMContentLoaded',
              function () {
                v && E()
              },
              !1
            ),
            Object.assign(e, {
              highlight: g,
              highlightAuto: y,
              highlightAll: E,
              highlightElement: w,
              highlightBlock: function (e) {
                return (
                  Y(
                    '10.7.0',
                    'highlightBlock will be removed entirely in v12.0'
                  ),
                  Y('10.7.0', 'Please use highlightElement now.'),
                  w(e)
                )
              },
              configure: function (e) {
                c = oe(c, e)
              },
              initHighlighting: () => {
                E(),
                  Y(
                    '10.6.0',
                    'initHighlighting() deprecated.  Use highlightAll() now.'
                  )
              },
              initHighlightingOnLoad: function () {
                E(),
                  Y(
                    '10.6.0',
                    'initHighlightingOnLoad() deprecated.  Use highlightAll() now.'
                  )
              },
              registerLanguage: function (t, r) {
                let s = null
                try {
                  s = r(e)
                } catch (e) {
                  if (
                    (Q(
                      "Language definition for '{}' could not be registered.".replace(
                        '{}',
                        t
                      )
                    ),
                    !o)
                  )
                    throw e
                  Q(e), (s = l)
                }
                s.name || (s.name = t),
                  (n[t] = s),
                  (s.rawDefinition = r.bind(null, e)),
                  s.aliases && A(s.aliases, { languageName: t })
              },
              unregisterLanguage: function (e) {
                delete n[e]
                for (const t of Object.keys(s)) s[t] === e && delete s[t]
              },
              listLanguages: function () {
                return Object.keys(n)
              },
              getLanguage: x,
              registerAliases: A,
              autoDetection: S,
              inherit: oe,
              addPlugin: function (e) {
                !(function (e) {
                  e['before:highlightBlock'] &&
                    !e['before:highlightElement'] &&
                    (e['before:highlightElement'] = t => {
                      e['before:highlightBlock'](
                        Object.assign({ block: t.el }, t)
                      )
                    }),
                    e['after:highlightBlock'] &&
                      !e['after:highlightElement'] &&
                      (e['after:highlightElement'] = t => {
                        e['after:highlightBlock'](
                          Object.assign({ block: t.el }, t)
                        )
                      })
                })(e),
                  i.push(e)
              }
            }),
            (e.debugMode = function () {
              o = !1
            }),
            (e.safeMode = function () {
              o = !0
            }),
            (e.versionString = '11.6.0'),
            (e.regex = {
              concat: m,
              lookahead: p,
              either: _,
              optional: f,
              anyNumberOfTimes: h
            })
          for (const e in F) 'object' == typeof F[e] && t.exports(F[e])
          return Object.assign(e, F), e
        })({})
        ;(e.exports = le), (le.HighlightJS = le), (le.default = le)
      },
      7802: (e, t, n) => {
        'use strict'
        n.a(e, async (e, t) => {
          try {
            n(4963)
            var r = n(8843),
              s = (n(3954), n(1261)),
              i = n(6177),
              o = n(8396),
              a = n(6488),
              l = n(7340),
              c = n(5431),
              u = n(9863),
              d = n(3925),
              p = n(5313),
              h = n(3739),
              f = n(2772),
              m = n(5110),
              _ = n(3778),
              g = n(4435),
              b = n(359),
              y = n(4442),
              w = n(1369),
              v = n(1336),
              E = n(435),
              x = n(8292),
              A = e([x])
            ;(x = (A.then ? (await A)() : A)[0]),
              s.Z.registerLanguage('plaintext', i.Z),
              s.Z.registerLanguage('csharp', o.Z),
              s.Z.registerLanguage('dart', a.Z),
              s.Z.registerLanguage('elixir', l.Z),
              s.Z.registerLanguage('go', c.Z),
              s.Z.registerLanguage('java', u.Z),
              s.Z.registerLanguage('javascript', d.Z),
              s.Z.registerLanguage('json', p.Z),
              s.Z.registerLanguage('matlab', h.Z),
              s.Z.registerLanguage('php', f.Z),
              s.Z.registerLanguage('python', m.Z),
              s.Z.registerLanguage('r', _.Z),
              s.Z.registerLanguage('ruby', g.Z),
              s.Z.registerLanguage('rust', b.Z),
              s.Z.registerLanguage('yaml', y.Z)
            let S =
              'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
            window.navigator &&
              window.navigator.userAgent &&
              window.navigator.userAgent.trim() &&
              !/[^a-z0-9-/().;, _]/i.test(window.navigator.userAgent) &&
              (S = window.navigator.userAgent)
            const C = w.replace('{{useragent}}', S),
              T = v.replace('{{useragent}}', S),
              N = {
                ansible: { converter: x.RD, hljs: 'yaml', title: 'Ansible' },
                cfml: {
                  converter: x.WZ,
                  hljs: 'javascript',
                  title: 'ColdFusion Markup Language'
                },
                csharp: { converter: x.B5, hljs: 'csharp', title: 'C#' },
                dart: { converter: x.ks, hljs: 'dart', title: 'Dart' },
                elixir: { converter: x.MH, hljs: 'elixir', title: 'Elixir' },
                go: { converter: x.hX, hljs: 'go', title: 'Go' },
                java: { converter: x.EA, hljs: 'java', title: 'Java' },
                javascript: {
                  converter: x.m1,
                  hljs: 'javascript',
                  title: 'JavaScript'
                },
                json: { converter: x.ex, hljs: 'json', title: 'a JSON object' },
                matlab: { converter: x.dx, hljs: 'matlab', title: 'MATLAB' },
                'node-fetch': {
                  converter: x.V9,
                  hljs: 'javascript',
                  title: 'node-fetch'
                },
                'node-axios': {
                  converter: x.YJ,
                  hljs: 'javascript',
                  title: 'Node (Axios)'
                },
                'node-request': {
                  converter: x.c3,
                  hljs: 'javascript',
                  title: 'Node (request)'
                },
                php: { converter: x.LW, hljs: 'php', title: 'PHP' },
                python: { converter: x.ZJ, hljs: 'python', title: 'Python' },
                r: { converter: x.XE, hljs: 'r', title: 'R' },
                ruby: { converter: x.qS, hljs: 'ruby', title: 'Ruby' },
                rust: { converter: x.c5, hljs: 'rust', title: 'Rust' },
                strest: { converter: x.X, hljs: 'yaml', title: 'Strest' }
              },
              O = e => {
                N[e] && N[e].hljs && (e = N[e].hljs)
                const t = 'language-' + e
                let n = !1
                const r = document.getElementById('generated-code')
                for (const e of r.classList)
                  e === t
                    ? (n = !0)
                    : e.startsWith('language-') && r.classList.remove(e)
                n || r.classList.add(t)
                const i = document.getElementById('language-navbar')
                'plaintext' === e
                  ? i.classList.add('error')
                  : i.classList.remove('error'),
                  s.Z.highlightElement(r)
              },
              k = function (e) {
                window.history.replaceState('', '', '/' + e + '/'),
                  (document.getElementById('language-select').value = e)
                const t = document.getElementById('language-navbar'),
                  n = t.querySelector(`a[href="/${e}/"]`)
                for (const e of t.querySelectorAll('.nav-link, .dropdown-item'))
                  e.classList.remove('active')
                if (
                  (n.classList.add('active'),
                  n.classList.contains('dropdown-item'))
                ) {
                  const e = n.parentElement.parentElement.parentElement.getElementsByClassName(
                    'dropdown-toggle'
                  )[0]
                  e && e.classList.add('active')
                }
                ;(document.getElementById('language-select').value = e), O(e)
                try {
                  if (Object.prototype.hasOwnProperty.call(N, e)) {
                    const t = 'Convert curl commands to ' + N[e].title,
                      n = '将curl命令转换为' + N[e].title
                    document.title !== n &&
                      document.title !== t &&
                      (document.title = n)
                  }
                } catch {}
                return e
              },
              I = function () {
                return document.getElementById('language-select').value
              },
              L = e => {
                const t = document.getElementById('issue-promo'),
                  n = document.getElementById('curl-code').value,
                  r = document.getElementById('prefilled-issue')
                if (e && n && n.length <= 2e3) {
                  const t = new URL(
                      'https://github.com/curlconverter/curlconverter/issues/new'
                    ),
                    s = new URLSearchParams({
                      title: 'Error: "' + e + '"',
                      body:
                        '**Input**:\n\n```sh\n' +
                        n +
                        '\n```\n\n**Expected output**:\n\n'
                    })
                  ;(t.search = s),
                    (r.getElementsByTagName('a')[0].href = t.toString()),
                    (r.style.display = 'inline-block')
                } else r.style.display = 'none'
                t.style.display = 'inline-block'
              },
              P = () => {
                document.getElementById('issue-promo').style.display = 'none'
              },
              R = () => {
                document.getElementById('copy-to-clipboard').style.display =
                  'inline-block'
              },
              M = () => {
                document.getElementById('copy-to-clipboard').style.display =
                  'none'
              },
              D = function (e) {
                ;(document.getElementById('curl-code').value = e.trim()), j()
              },
              j = function () {
                let e,
                  t,
                  n = document.getElementById('curl-code').value
                try {
                  window.sessionStorage.setItem('prev-curl-command', n)
                } catch {}
                const r = I()
                let s = []
                if (
                  (n || (n = 'curl example.com'),
                  n.match(/^\s*\$\s+curl\s+/) && (n = n.replace(/^\s*\$/, '')),
                  n.startsWith('curl ') && (n = n.replace(/\u00A0/g, ' ')),
                  n.trim())
                )
                  try {
                    const t = N[r].converter
                    ;([e, s] = t(n, s)), (e = e.trimEnd()), P(), R()
                  } catch (e) {
                    console.error(e)
                    const r = e.toString()
                    ;(t = r
                      ? r.startsWith('Error: ')
                        ? r
                        : 'Error parsing curl command: ' + r
                      : n.trim().startsWith('curl')
                      ? 'Error parsing curl command.'
                      : 'Error parsing curl command. Your input should start with the word "curl"'),
                      O('plaintext'),
                      L(r),
                      M()
                  }
                else (t = ''), P(), M()
                const i = document.getElementById('generated-code'),
                  o = document.getElementById('warnings'),
                  a = document.getElementById('warnings-container')
                t
                  ? ((i.textContent = t), O('plaintext'))
                  : ((i.textContent = e), O(r)),
                  'windows' === W &&
                    n.split('^', 6).length > 5 &&
                    s.push([
                      'copy-as-cmd',
                      'Did you click "Copy as cURL (cmd)" instead of "Copy as cURL (bash)"? Only bash commands are supported.'
                    ]),
                  s && s.length
                    ? ((o.textContent = s.map(e => e[1]).join('\n')),
                      (a.style.display = 'inline-block'))
                    : ((o.textContent = ''), (a.style.display = 'none'))
              }
            let F = ''
            const q = window.location.pathname
                .replace(/^\/+/, '')
                .replace(/\/+$/, ''),
              $ = window.location.hash.replace('#', '')
            ;(F =
              !q && $
                ? 'browser' === $
                  ? 'javascript'
                  : 'node' === $
                  ? 'node-fetch'
                  : $
                : q),
              Object.prototype.hasOwnProperty.call(N, F) && k(F),
              document.getElementById('curl-code').addEventListener('input', j),
              document
                .getElementById('language-select')
                .addEventListener('change', function () {
                  const e = document.getElementById('language-select').value
                  k(e), j()
                })
            const B = document
              .getElementById('language-navbar')
              .querySelectorAll(
                '.nav-link:not(.dropdown-toggle):not(.nav-link-outbound), .dropdown-item'
              )
            for (const e of B)
              e.addEventListener('click', function (e) {
                e.preventDefault()
                const t = new URL(e.target.href).pathname
                  .replace(/^\/+/, '')
                  .replace(/\/+$/, '')
                  .split('/')[0]
                k(t), j()
              })
            document
              .getElementById('get-example')
              .addEventListener('click', function (e) {
                e.preventDefault(), D(C)
              }),
              document
                .getElementById('post-example')
                .addEventListener('click', function (e) {
                  e.preventDefault(), D(T)
                }),
              document
                .getElementById('basic-auth-example')
                .addEventListener('click', function (e) {
                  e.preventDefault(), D(E)
                }),
              document
                .getElementById('copy-to-clipboard')
                .addEventListener('click', e => {
                  e.preventDefault()
                  const t = document.getElementById('generated-code'),
                    n = window.getSelection(),
                    r = document.createRange()
                  r.selectNodeContents(t),
                    n.removeAllRanges(),
                    n.addRange(r),
                    navigator.clipboard.writeText(t.textContent)
                })
            const U = ['chrome', 'safari', 'firefox']
            let H = 'chrome',
              W = 'mac'
            try {
              const e = (0, r.qY)()
              e &&
                e.name &&
                U.includes(e.name) &&
                ((H = e.name),
                e.os &&
                  e.os.toLowerCase().includes('windows') &&
                  (W = 'windows'))
            } catch {}
            const z = function (e) {
              U.includes(e) || (e = H)
              for (const t of U) {
                const n = document.getElementById(t)
                t === e
                  ? n.classList.remove('d-none')
                  : n.classList.add('d-none')
              }
              const t = document.getElementById('screenshot'),
                [n, r] = {
                  chrome: [648, 354],
                  firefox: [733, 251],
                  safari: [658, 373]
                }[e],
                s = `\n          <source srcset="/images/${e}.webp, /images/${e}@2x.webp 2x" type="image/webp">\n          <img class="img-fluid mx-auto d-block" src="/images/${e}.png" srcset="/images/${e}@2x.png 2x" width="${n}" height="${r}"alt="screenshot of browser DevTools showing how to copy a network request as curl">\n        `
              t.innerHTML !== s && (t.innerHTML = s)
            }
            for (const e of U) {
              const t = document.getElementsByClassName('to-' + e)
              for (const e of t)
                e.addEventListener('click', function (e) {
                  e.preventDefault()
                  const t = [...e.target.classList].filter(e =>
                    e.startsWith('to-')
                  )
                  t.length ? z(t[0].replace(/^to-/, '')) : z()
                })
            }
            const K = document.getElementById('curl-code')
            try {
              const e = window.sessionStorage.getItem('prev-curl-command')
              e && !K.value && (K.value = e)
            } catch {}
            K.removeAttribute('disabled'), K.focus(), j(), z(), t()
          } catch (e) {
            t(e)
          }
        })
      },
      8681: (e, t, n) => {
        'use strict'
        n.a(
          e,
          async (e, r) => {
            try {
              n.d(t, { Z: () => o })
              var s = n(936)
              await s.init()
              const e = await s.Language.load('tree-sitter-bash.wasm'),
                i = new s()
              i.setLanguage(e)
              const o = i
              r()
            } catch (e) {
              r(e)
            }
          },
          1
        )
      },
      7594: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { RD: () => u })
            var s = n(5156),
              i = n(8441),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'user'
            ])
            function l (e) {
              if (!e.data) return
              e.isDataRaw ||
                '@-' !== e.data ||
                (e.stdinFile
                  ? (e.data = '@' + e.stdinFile)
                  : e.stdin && (e.data = e.stdin))
              const t = s.Pg(e, 'content-type')
              if (t && 'application/json' === t.split(';')[0].trim())
                try {
                  const t = JSON.parse(e.data)
                  return [t, JSON.stringify(t) === e.data]
                } catch (e) {}
            }
            const c = (e, t = []) => {
                const n = { url: e.url, method: e.method }
                if ('string' == typeof e.data && e.data) {
                  const t = l(e)
                  t
                    ? ((n.body = t[0]), (n.body_format = 'json'))
                    : (n.body = e.data)
                }
                if (e.headers) {
                  n.headers = {}
                  for (const t of e.headers) {
                    const [e, r] = t
                    n.headers[e] = r || ''
                  }
                }
                return (
                  e.auth &&
                    (e.auth[0] && (n.url_username = e.auth[0]),
                    e.auth[1] && (n.url_password = e.auth[1])),
                  e.insecure && (n.validate_certs = !1),
                  i.stringify(
                    [{ name: e.urlWithoutQuery, uri: n, register: 'result' }],
                    100,
                    2
                  )
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (d) {
            r(d)
          }
        })
      },
      5883: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { WZ: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'user',
                'proxy-user',
                'proxy',
                'max-time'
              ]),
              l = e => i(e, { quotes: 'single' }).replace(/"/g, '""'),
              c = (e, t = []) => {
                let n = ''
                if (
                  ((n += 'httpService = new http();\n'),
                  (n += 'httpService.setUrl("' + l(e.url) + '");\n'),
                  (n += 'httpService.setMethod("' + l(e.method) + '");\n'),
                  e.cookies)
                ) {
                  for (const [t, r] of e.cookies)
                    n +=
                      'httpService.addParam(type="cookie", name="' +
                      l(t) +
                      '", value="' +
                      l(r) +
                      '");\n'
                  s.mK(e, 'Cookie')
                }
                if (e.headers && e.headers.length)
                  for (const [t, r] of e.headers)
                    n +=
                      'httpService.addParam(type="header", name="' +
                      l(t) +
                      '", value="' +
                      l(r) +
                      '");\n'
                if (
                  (e.timeout &&
                    (n +=
                      'httpService.setTimeout(' +
                      (parseInt(e.timeout) || 0) +
                      ');\n'),
                  e.auth)
                ) {
                  const [t, r] = e.auth
                  ;(n += 'httpService.setUsername("' + l(t) + '");\n'),
                    (n += 'httpService.setPassword("' + l(r || '') + '");\n')
                }
                if (e.proxy) {
                  let t = e.proxy,
                    r = '1080'
                  const s = e.proxy.match(/:([0-9]+)/)
                  if (
                    (s && ((t = e.proxy.slice(0, s.index)), (r = s[1])),
                    (n += 'httpService.setProxyServer("' + l(t) + '");\n'),
                    (n += 'httpService.setProxyPort(' + l(r) + ');\n'),
                    e.proxyAuth)
                  ) {
                    const [t, r] = e.proxyAuth.split(/:(.*)/s, 2)
                    ;(n += 'httpService.setProxyUser("' + l(t) + '");\n'),
                      (n +=
                        'httpService.setProxyPassword("' + l(r || '') + '");\n')
                  }
                }
                if (e.data || e.multipartUploads)
                  if (e.multipartUploads)
                    for (const t of e.multipartUploads)
                      n +=
                        'contentFile' in t
                          ? 'httpService.addParam(type="file", name="' +
                            l(t.name) +
                            '", file="#expandPath("' +
                            l(t.contentFile) +
                            '")#");\n'
                          : 'httpService.addParam(type="formfield", name="' +
                            l(t.name) +
                            '", value="' +
                            l(t.content) +
                            '");\n'
                  else
                    e.isDataRaw || '@' !== e.data.charAt(0)
                      ? (n +=
                          'httpService.addParam(type="body", value="' +
                          l(e.data) +
                          '");\n')
                      : (n +=
                          'httpService.addParam(type="body", value="#' +
                          (e.isDataBinary ? 'fileReadBinary' : 'fileRead') +
                          '(expandPath("' +
                          l(e.data.substring(1)) +
                          '"))#");\n')
                return (
                  (n += '\nresult = httpService.send().getPrefix();\n'),
                  (n += 'writeDump(result);\n'),
                  n
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      6733: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { B5: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'no-digest',
              'http1.0',
              'http1.1',
              'http0.9',
              'no-http0.9',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'user',
              'proxy',
              'upload-file'
            ])
            function l (e) {
              return '"' + i(e, { quotes: 'double', minimal: !0 }) + '"'
            }
            const c = (e, t = []) => {
                const n = new Set(),
                  r = {
                    DELETE: 'Delete',
                    GET: 'Get',
                    PATCH: 'Patch',
                    POST: 'Post',
                    PUT: 'Put'
                  },
                  i = {
                    DELETE: 'Delete',
                    GET: 'Get',
                    HEAD: 'Head',
                    OPTIONS: 'Options',
                    PATCH: 'Patch',
                    POST: 'Post',
                    PUT: 'Put',
                    TRACE: 'Trace'
                  }
                let o = 'new HttpMethod(' + l(e.method) + ')'
                s.e$(i, e.method) && (o = 'HttpMethod.' + i[e.method])
                const a =
                  s.e$(r, e.method) &&
                  !(
                    e.headers ||
                    (e.auth && !e.digest) ||
                    e.multipartUploads ||
                    e.data ||
                    e.uploadFile ||
                    e.output
                  )
                let c = ''
                if (
                  (e.insecure || e.proxy
                    ? ((c +=
                        'HttpClientHandler handler = new HttpClientHandler();\n'),
                      e.insecure &&
                        (c +=
                          'handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;\n'),
                      e.proxy &&
                        (c +=
                          'handler.Proxy = new WebProxy(' +
                          l(e.proxy) +
                          ');\n'),
                      (c += '\n'),
                      (c += 'HttpClient client = new HttpClient(handler);\n\n'))
                    : (c += 'HttpClient client = new HttpClient();\n\n'),
                  a)
                )
                  return (
                    'GET' === e.method
                      ? (c +=
                          'string responseBody = await client.GetStringAsync(' +
                          l(e.url) +
                          ');\n')
                      : ((c +=
                          'HttpResponseMessage response = await client.' +
                          r[e.method] +
                          'Async(' +
                          l(e.url) +
                          ');\n'),
                        (c += 'response.EnsureSuccessStatusCode();\n'),
                        (c +=
                          'string responseBody = await response.Content.ReadAsStringAsync();\n')),
                    c
                  )
                c +=
                  'HttpRequestMessage request = new HttpRequestMessage(' +
                  o +
                  ', ' +
                  l(e.url) +
                  ');\n'
                const u = {
                    'content-length': 'ContentLength',
                    'content-location': 'ContentLocation',
                    'content-md5': 'ContentMD5',
                    'content-range': 'ContentRange',
                    'content-type': 'ContentType',
                    expires: 'Expires',
                    'last-modified': 'LastModified'
                  },
                  d = (e.headers || []).filter(
                    e => !Object.keys(u).includes(e[0].toLowerCase())
                  ),
                  p = (e.headers || []).filter(e =>
                    Object.keys(u).includes(e[0].toLowerCase())
                  )
                if (d.length || (e.auth && !e.digest)) {
                  c += '\n'
                  for (const [e, t] of d)
                    null !== t &&
                      (['accept-encoding'].includes(e.toLowerCase()) &&
                        (c += '// '),
                      (c +=
                        'request.Headers.Add(' + l(e) + ', ' + l(t) + ');\n'))
                  if (e.auth && !e.digest) {
                    const [t, n] = e.auth
                    c +=
                      'request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(' +
                      l(t + ':' + n) +
                      ')));\n'
                  }
                  c += '\n'
                }
                if (e.uploadFile)
                  c +=
                    'request.Content = new ByteArrayContent(File.ReadAllBytes(' +
                    l(e.uploadFile) +
                    '));\n'
                else if ('string' == typeof e.data)
                  !e.isDataRaw && e.data.startsWith('@')
                    ? (c +=
                        'request.Content = new StringContent(File.ReadAllText(' +
                        l(e.data.slice(1)) +
                        ').Replace("\\n", string.Empty).Replace("\\r", string.Empty));\n')
                    : (c +=
                        'request.Content = new StringContent(' +
                        l(e.data) +
                        ');\n')
                else if (e.multipartUploads) {
                  ;(c += '\n'),
                    (c +=
                      'MultipartFormDataContent content = new MultipartFormDataContent();\n')
                  for (const t of e.multipartUploads) {
                    const n = l(t.name),
                      r = 'filename' in t && t.filename
                    ;(c += 'content.Add(new '),
                      'contentFile' in t
                        ? '-' === t.contentFile
                          ? e.stdinFile
                            ? ((c +=
                                'ByteArrayContent(File.ReadAllBytes(' +
                                l(e.stdinFile) +
                                ')), ' +
                                n),
                              r && (c += ', Path.GetFileName(' + l(r) + ')'),
                              (c += ');\n'))
                            : e.stdin
                            ? ((c += 'StringContent(' + l(e.stdin) + '), ' + n),
                              r && (c += ', Path.GetFileName(' + l(r) + ')'),
                              (c += ');\n'))
                            : ((c += 'StringContent(Console.ReadLine()), ' + n),
                              r && (c += ', Path.GetFileName(' + l(r) + ')'),
                              (c += ');\n'))
                          : ((c +=
                              'ByteArrayContent(File.ReadAllBytes(' +
                              l(t.contentFile) +
                              ')), ' +
                              n),
                            r && (c += ', Path.GetFileName(' + l(r) + ')'),
                            (c += ');\n'))
                        : (c +=
                            'StringContent(' +
                            l(t.content) +
                            '), ' +
                            n +
                            ');\n')
                  }
                  c += 'request.Content = content;\n'
                } else
                  s.L4(e, 'content-type') &&
                    (c += 'request.Content = new StringContent("");\n')
                if (p.length)
                  for (const [e, r] of p) {
                    if (null === r) continue
                    const i = e.toLowerCase()
                    'content-type' === i
                      ? (n.add('System.Net.Http.Headers'),
                        r.includes(';')
                          ? (c +=
                              'request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(' +
                              l(r) +
                              ');\n')
                          : (c +=
                              'request.Content.Headers.ContentType = new MediaTypeHeaderValue(' +
                              l(r) +
                              ');\n'))
                      : 'content-length' === i
                      ? (isNaN(parseInt(r)) &&
                          t.push([
                            'content-length-not-int',
                            'Content-Length header value is not a number: ' +
                              l(r)
                          ]),
                        (c +=
                          '// request.Content.Headers.ContentLength = ' +
                          r.split(/\r?\n/)[0] +
                          ';\n'))
                      : s.e$(u, i) &&
                        (c +=
                          'request.Content.Headers.' +
                          u[i] +
                          ' = ' +
                          l(r) +
                          ';\n')
                  }
                return (
                  (e.uploadFile || e.data || e.multipartUploads || p.length) &&
                    (c += '\n'),
                  (c +=
                    'HttpResponseMessage response = await client.SendAsync(request);\n'),
                  (c += 'response.EnsureSuccessStatusCode();\n'),
                  (c +=
                    'string responseBody = await response.Content.ReadAsStringAsync();\n'),
                  n.size &&
                    (c = 'using ' + [...n].join(';\nusing ') + ';\n\n' + c),
                  c
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (d) {
            r(d)
          }
        })
      },
      6586: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { ks: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'compressed',
              'no-compressed',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'user'
            ])
            function l (e) {
              return e ? "'" + i(e, { quotes: 'single' }) + "'" : "''"
            }
            const c = (e, t = []) => {
                const n = new Set()
                ;(e.auth || e.isDataBinary) && n.add('dart:convert')
                let r = 'void main() async {\n'
                if (e.auth) {
                  const [t, n] = e.auth
                  r +=
                    "  var uname = '" +
                    t +
                    "';\n  var pword = '" +
                    n +
                    "';\n  var authn = 'Basic ' + base64Encode(utf8.encode('$uname:$pword'));\n\n"
                }
                const s =
                  e.headers ||
                  e.compressed ||
                  e.isDataBinary ||
                  'put' === e.method.toLowerCase()
                if (s && !e.multipartUploads) {
                  r += '  var headers = {\n'
                  for (const [t, n] of e.headers || [])
                    r += "    '" + t + "': '" + n + "',\n"
                  e.auth && (r += "    'Authorization': authn,\n"),
                    e.compressed && (r += "    'Accept-Encoding': 'gzip',\n"),
                    (r += '  };\n'),
                    (r += '\n')
                }
                if (e.query) {
                  r += '  var params = {\n'
                  for (const [t, n] of e.query) {
                    const e = l(null === n ? '' : n)
                    r += '    ' + l(t) + ': ' + e + ',\n'
                  }
                  ;(r += '  };\n'),
                    (r +=
                      "  var query = params.entries.map((p) => '${p.key}=${p.value}').join('&');\n"),
                    (r += '\n')
                }
                const o = e.data
                if (e.data)
                  if (
                    (-1 !== e.data.indexOf("'") &&
                      -1 === e.data.indexOf("\\'") &&
                      (e.data = i(e.data)),
                    e.dataArray)
                  ) {
                    r += '  var data = {\n'
                    for (let t = 0; t !== e.dataArray.length; ++t) {
                      const n = e.dataArray[t].replace(/\\"/g, '"').split('=')
                      r +=
                        "    '" + (n[0] || '') + "': '" + (n[1] || '') + "',\n"
                    }
                    ;(r += '  };\n'), (r += '\n')
                  } else
                    e.isDataBinary
                      ? (r += `  var data = utf8.encode('${e.data}');\n\n`)
                      : (r += `  var data = '${e.data}';\n\n`)
                if (
                  (e.query
                    ? (r +=
                        "  var url = Uri.parse('" +
                        e.urlWithoutQuery +
                        "?$query');\n")
                    : (r += "  var url = Uri.parse('" + e.url + "');\n"),
                  e.multipartUploads)
                ) {
                  let t = 'http.MultipartRequest(' + l(e.method) + ', url)\n'
                  for (const r of e.multipartUploads) {
                    const s = l(r.name),
                      i = 'filename' in r && r.filename
                    'contentFile' in r
                      ? ((t += '    ..files.add(await http.MultipartFile.'),
                        '-' === r.contentFile
                          ? e.stdinFile
                            ? ((t += 'fromPath(\n'),
                              (t += '      ' + s + ', ' + l(e.stdinFile)),
                              i &&
                                e.stdinFile !== i &&
                                ((t += ',\n'),
                                (t += '      filename: ' + l(i))),
                              (t += '))\n'))
                            : e.stdin
                            ? ((t += 'fromString(\n'),
                              (t += '      ' + s + ', ' + l(e.stdin)),
                              i &&
                                ((t += ',\n'),
                                (t += '      filename: ' + l(i))),
                              (t += '))\n'))
                            : ((t += 'fromString(\n'),
                              (t +=
                                '      ' +
                                s +
                                ', stdin.readLineSync(encoding: utf8)'),
                              i &&
                                ((t += ',\n'),
                                (t += '      filename: ' + l(i))),
                              (t += '))\n'),
                              n.add('dart:io'),
                              n.add('dart:convert'))
                          : ((t += 'fromPath(\n'),
                            (t += '      ' + s + ', ' + l(r.contentFile)),
                            i &&
                              r.contentFile !== i &&
                              ((t += ',\n'), (t += '      filename: ' + l(i))),
                            (t += '))\n')))
                      : (t +=
                          '    ..fields[' + s + '] = ' + l(r.content) + '\n')
                  }
                  if (s || e.auth) {
                    r += '  var req = new ' + t
                    for (const [t, n] of e.headers || [])
                      r += '  req.headers[' + l(t) + '] = ' + l(n || '') + ';\n'
                    e.auth &&
                      (r += "  req.headers['Authorization'] = authn;\n"),
                      (r += '  var res = await req.send();\n')
                  } else r += '  var res = await ' + t
                } else
                  (r +=
                    '  var res = await http.' +
                    e.method.toLowerCase() +
                    '(url'),
                    s
                      ? (r += ', headers: headers')
                      : e.auth && (r += ", headers: {'Authorization': authn}"),
                    o && (r += ', body: data'),
                    (r += ');\n')
                r +=
                  "  if (res.statusCode != 200) throw Exception('http." +
                  e.method.toLowerCase() +
                  " error: statusCode= ${res.statusCode}');\n  print(res.body);\n}"
                let a = ''
                for (const e of Array.from(n).sort())
                  a += "import '" + e + "';\n"
                return (
                  (a += "import 'package:http/http.dart' as http;\n"),
                  a + '\n' + r + '\n'
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (d) {
            r(d)
          }
        })
      },
      3651: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { MH: () => y })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'user'
            ])
            function l (e) {
              return '"' + i(e, { quotes: 'double', minimal: !0 }) + '"'
            }
            function c (e) {
              return e
                .split('\n')
                .map(e => (e ? '  ' + e : e))
                .join('\n')
            }
            function u (e) {
              if (!e.cookies || !e.cookies.length) return ''
              const t = []
              for (const [n, r] of e.cookies) t.push(`${n}=${r}`)
              return `cookie: [${l(t.join('; '))}]`
            }
            function d (e, t) {
              const n = [],
                r = p(e)
              r && n.push(r), e.insecure && n.push(':insecure')
              const s = u(e)
              s && n.push(s)
              let i = ''
              n.length > 1
                ? (i = `hackney: [\n    ${n.join(',\n    ')}\n  ]`)
                : n.length && (i = `hackney: [${n[0]}]`)
              const o = `[${i}]`
              let a = o
              return (
                '[]' !== t &&
                  ((a = ''),
                  (a += '[\n'),
                  (a += '    params: ' + c(t).trim()),
                  i && ((a += ',\n'), (a += '    ' + c(i).trim())),
                  (a += '\n'),
                  (a += '  ]')),
                [a, o]
              )
            }
            function p (e) {
              if (!e.auth) return ''
              const [t, n] = e.auth
              return `basic_auth: {${l(t)}, ${l(n)}}`
            }
            function h (e) {
              if (!e.query || !e.query.length) return '[]'
              let t = '[\n'
              const n = []
              for (const [t, r] of e.query) n.push(`    {${l(t)}, ${l(r)}}`)
              return (t += n.join(',\n')), (t += '\n  ]'), t
            }
            function f (e) {
              if (!e.headers || !e.headers.length) return '[]'
              let t = '[\n'
              const n = []
              for (const [t, r] of e.headers) n.push(`    {${l(t)}, ${l(r)}}`)
              return (t += n.join(',\n')), (t += '\n  ]'), t
            }
            function m (e) {
              return _(e) || '""'
            }
            function _ (e) {
              var t
              if (e.data) return g(e)
              if (!e.multipartUploads) return ''
              if (!e.multipartUploads.length) return '{:multipart, []}'
              const n = []
              for (const r of e.multipartUploads)
                'contentFile' in r
                  ? n.push(
                      `    {:file, ${l(
                        r.contentFile
                      )}, {"form-data", [{:name, ${l(
                        r.name
                      )}}, {:filename, Path.basename(${l(
                        null !== (t = r.filename) && void 0 !== t
                          ? t
                          : r.contentFile
                      )})}]}, []}`
                    )
                  : n.push(`    {${l(r.name)}, ${l(r.content)}}`)
              const r = n.join(',\n')
              return r ? `{:multipart, [\n${r}\n  ]}` : ''
            }
            function g (e) {
              if (!e.data) return ''
              if (!e.isDataRaw && e.data.startsWith('@')) {
                const t = e.data.slice(1)
                return e.isDataBinary
                  ? `File.read!(${l(t)})`
                  : `{:file, ${l(t)}}`
              }
              const [t] = s.dD(e.data)
              return !e.isDataBinary &&
                t &&
                t.length &&
                !t.some(e => null === e[1])
                ? `{:form, [\n${t
                    .map(e => {
                      const [t, n] = e
                      return `    {${l(t)}, ${l(n)}}`
                    })
                    .join(',\n')}\n  ]}`
                : !e.data.includes('|') &&
                  e.data.split('\n', 4).length > 3 &&
                  !e.data.match(/[^\S\r\n]\n/)
                ? '~s|' + e.data + '|'
                : l(e.data)
            }
            const b = (e, t = []) => {
                e.cookies && s.mK(e, 'cookie'),
                  [
                    'DELETE',
                    'GET',
                    'HEAD',
                    'OPTIONS',
                    'PATCH',
                    'POST',
                    'PUT'
                  ].includes(e.method) ||
                    t.push([
                      'bad-method',
                      'Unsupported method ' + JSON.stringify(e.method)
                    ])
                const n = ['PATCH', 'POST', 'PUT'].includes(e.method),
                  r = m(e),
                  i = f(e),
                  o = h(e),
                  [a, c] = d(e, o)
                if ('""' === r || n) {
                  let t = [],
                    s = !1
                  s || (s = '[]' !== a),
                    s && t.push(a),
                    s || (s = '[]' !== i),
                    s && t.push(i),
                    s || (s = '""' !== r),
                    s && n && t.push(r),
                    t.push(l(e.urlWithoutQuery)),
                    (t = t.reverse())
                  let o =
                    'response = HTTPoison.' + e.method.toLowerCase() + '!('
                  return (
                    1 === t.length
                      ? (o += t[0])
                      : ((o += '\n'),
                        (o += '  ' + t.join(',\n  ')),
                        (o += '\n')),
                    o + ')\n'
                  )
                }
                return `request = %HTTPoison.Request{\n  method: :${e.method.toLowerCase()},\n  url: ${l(
                  e.urlWithoutQuery
                )},\n  body: ${r},\n  headers: ${i},\n  options: ${c},\n  params: ${o}\n}\n\nresponse = HTTPoison.request(request)\n`
              },
              y = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [b(n, t), t]
              }
            r()
          } catch (w) {
            r(w)
          }
        })
      },
      9344: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { hX: () => p })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'get',
                'header',
                'head',
                'no-head',
                'user'
              ]),
              l = e => (e.includes('"') && !e.includes('`') ? c(e) : u(e)),
              c = e => (e.includes('`') ? u(e) : '`' + e + '`'),
              u = e => '"' + i(e, { quotes: 'double', minimal: !0 }) + '"',
              d = (e, t = []) => {
                t = t || []
                let n = 'package main\n\n'
                if (
                  ((n += 'import (\n'),
                  (n += '\t"fmt"\n'),
                  (n += '\t"io/ioutil"\n'),
                  (n += '\t"log"\n'),
                  (n += '\t"net/http"\n'),
                  e.data && (n += '\t"strings"\n'),
                  (n += ')\n\n'),
                  (n += 'func main() {\n'),
                  (n += '\tclient := &http.Client{}\n'),
                  e.data &&
                    (n +=
                      '\tvar data = strings.NewReader(' + c(e.data) + ')\n'),
                  (n +=
                    '\treq, err := http.NewRequest(' +
                    u(e.method) +
                    ', ' +
                    u(e.url)),
                  (n += ', ' + (e.data ? 'data' : 'nil') + ')\n'),
                  (n += '\tif err != nil {\n'),
                  (n += '\t\tlog.Fatal(err)\n'),
                  (n += '\t}\n'),
                  e.headers)
                )
                  for (const [t, r] of e.headers || [])
                    n +=
                      '\treq.Header.Set(' +
                      u(t) +
                      ', ' +
                      l(null != r ? r : '') +
                      ')\n'
                if (e.auth) {
                  const [t, r] = e.auth
                  n += '\treq.SetBasicAuth(' + u(t) + ', ' + u(r) + ')\n'
                }
                return (
                  (n += '\tresp, err := client.Do(req)\n'),
                  (n += '\tif err != nil {\n'),
                  (n += '\t\tlog.Fatal(err)\n'),
                  (n += '\t}\n'),
                  (n += '\tdefer resp.Body.Close()\n'),
                  (n += '\tbodyText, err := ioutil.ReadAll(resp.Body)\n'),
                  (n += '\tif err != nil {\n'),
                  (n += '\t\tlog.Fatal(err)\n'),
                  (n += '\t}\n'),
                  (n += '\tfmt.Printf("%s\\n", bodyText)\n'),
                  (n += '}'),
                  n + '\n'
                )
              },
              p = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [d(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      6520: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { EA: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'get',
                'header',
                'head',
                'no-head',
                'user'
              ]),
              l = e => i(e, { quotes: 'double' }),
              c = (e, t = []) => {
                let n = ''
                e.auth && (n += 'import javax.xml.bind.DatatypeConverter;\n'),
                  (n += 'import java.io.IOException;\n'),
                  (n += 'import java.io.InputStream;\n'),
                  e.data && (n += 'import java.io.OutputStreamWriter;\n'),
                  (n += 'import java.net.HttpURLConnection;\n'),
                  (n += 'import java.net.URL;\n'),
                  (n += 'import java.util.Scanner;\n'),
                  (n += '\nclass Main {\n\n'),
                  (n +=
                    '\tpublic static void main(String[] args) throws IOException {\n'),
                  (n += '\t\tURL url = new URL("' + e.url + '");\n'),
                  (n +=
                    '\t\tHttpURLConnection httpConn = (HttpURLConnection) url.openConnection();\n'),
                  (n +=
                    '\t\thttpConn.setRequestMethod("' + e.method + '");\n\n')
                let r = !1
                if (e.headers) {
                  for (const [t, s] of e.headers)
                    null !== s &&
                      ((n +=
                        '\t\thttpConn.setRequestProperty("' +
                        t +
                        '", "' +
                        l(s) +
                        '");\n'),
                      'accept-encoding' === t.toLowerCase() &&
                        s &&
                        (r = -1 !== s.indexOf('gzip')))
                  n += '\n'
                }
                return (
                  e.auth &&
                    ((n +=
                      '\t\tbyte[] message = ("' +
                      l(e.auth.join(':')) +
                      '").getBytes("UTF-8");\n'),
                    (n +=
                      '\t\tString basicAuth = DatatypeConverter.printBase64Binary(message);\n'),
                    (n +=
                      '\t\thttpConn.setRequestProperty("Authorization", "Basic " + basicAuth);\n'),
                    (n += '\n')),
                  e.data &&
                    ((e.data = l(e.data)),
                    (n += '\t\thttpConn.setDoOutput(true);\n'),
                    (n +=
                      '\t\tOutputStreamWriter writer = new OutputStreamWriter(httpConn.getOutputStream());\n'),
                    (n += '\t\twriter.write("' + e.data + '");\n'),
                    (n += '\t\twriter.flush();\n'),
                    (n += '\t\twriter.close();\n'),
                    (n += '\t\thttpConn.getOutputStream().close();\n'),
                    (n += '\n')),
                  (n +=
                    '\t\tInputStream responseStream = httpConn.getResponseCode() / 100 == 2\n'),
                  (n += '\t\t\t\t? httpConn.getInputStream()\n'),
                  (n += '\t\t\t\t: httpConn.getErrorStream();\n'),
                  r &&
                    ((n +=
                      '\t\tif ("gzip".equals(httpConn.getContentEncoding())) {\n'),
                    (n +=
                      '\t\t\tresponseStream = new GZIPInputStream(responseStream);\n'),
                    (n += '\t\t}\n')),
                  (n +=
                    '\t\tScanner s = new Scanner(responseStream).useDelimiter("\\\\A");\n'),
                  (n += '\t\tString response = s.hasNext() ? s.next() : "";\n'),
                  (n += '\t\tSystem.out.println(response);\n'),
                  (n += '\t}\n'),
                  (n += '}'),
                  n + '\n'
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      9503: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { YJ: () => p })
            var s = n(5156),
              i = n(6810),
              o = e([s, i])
            ;[s, i] = o.then ? (await o)() : o
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'form',
                'form-string',
                'referer',
                'get',
                'header',
                'head',
                'no-head',
                'user',
                'proxy',
                'proxy-user',
                'max-time'
              ]),
              l = e => {
                if (!e.data) return [null, null]
                const t = (0, i.PK)(e.data),
                  n = s.wg(e),
                  r = s.Pg(e, 'content-type')
                if ('application/json' === n) {
                  const n = JSON.parse(e.data)
                  if ('object' != typeof n || null === n) return [t, null]
                  const o = JSON.stringify(n) === e.data,
                    a = (0, i.PK)(n, 1)
                  return (
                    o &&
                      'application/json' === r &&
                      'application/json, text/plain, */*' ===
                        s.Pg(e, 'accept') &&
                      (s.mK(e, 'content-type'), s.mK(e, 'accept')),
                    [a, o ? null : t]
                  )
                }
                if ('application/x-www-form-urlencoded' === n) {
                  const n = s.dD(e.data)[1]
                  return n && Object.values(n).every(e => 'string' == typeof e)
                    ? ('application/x-www-form-urlencoded' === r &&
                        s.mK(e, 'content-type'),
                      ['new URLSearchParams(' + (0, i.PK)(n, 1) + ')', null])
                    : [t, null]
                }
                return [null, null]
              },
              c = e => {
                if (!e.data) return [null, null]
                let t = null,
                  n = null
                try {
                  ;[t, n] = l(e)
                } catch (e) {}
                return t || (t = (0, i.PK)(e.data)), [t, n]
              },
              u = (e, t, n, r, s, o) => {
                let a = '{\n'
                n.includes(t) || (a += '    method: ' + (0, i.PK)(t) + ',\n'),
                  s
                    ? (a += '    params: params,\n')
                    : e.queryDict &&
                      (a += '    params: ' + (0, i.PK)(e.queryDict, 1) + ',\n')
                const [l, u] = c(e)
                if ((e.headers && e.headers.length) || e.multipartUploads) {
                  ;(a += '    headers: {\n'),
                    e.multipartUploads &&
                      (a += '        ...form.getHeaders(),\n')
                  for (const [t, n] of e.headers || [])
                    a +=
                      '        ' +
                      (0, i.PK)(t) +
                      ': ' +
                      (0, i.PK)(n || '') +
                      ',\n'
                  a.endsWith(',\n') && ((a = a.slice(0, -2)), (a += '\n')),
                    (a += '    },\n')
                }
                if (e.auth) {
                  const [t, n] = e.auth
                  ;(a += '    auth: {\n'),
                    (a += '        username: ' + (0, i.PK)(t)),
                    n
                      ? ((a += ',\n'),
                        (a += '        password: ' + (0, i.PK)(n) + '\n'))
                      : (a += '\n'),
                    (a += '    },\n')
                }
                if (
                  (r.includes(t) ||
                    (e.data
                      ? (u && (a += '    // data: ' + u + ',\n'),
                        (a += '    data: ' + l + ',\n'))
                      : e.multipartUploads && (a += '    data: form,\n')),
                  e.timeout)
                ) {
                  const t = parseFloat(e.timeout)
                  !isNaN(t) && t > 0 && (a += '    timeout: ' + 1e3 * t + ',\n')
                }
                if ('' === e.proxy) a += '    proxy: false,\n'
                else if (e.proxy) {
                  const t = e.proxy.includes('://')
                    ? e.proxy
                    : 'http://' + e.proxy
                  let [n, r] = t.split(/:\/\/(.*)/s, 2)
                  ;(n =
                    'socks' === n.toLowerCase() ? 'socks4' : n.toLowerCase()),
                    (r = r || '')
                  let s = '1080'
                  const o = r.match(/:([0-9]+$)/)
                  o && ((r = r.slice(0, o.index)), (s = o[1]))
                  const l = parseInt(s)
                  if (
                    ((a += '    proxy: {\n'),
                    (a += '        protocol: ' + (0, i.PK)(n) + ',\n'),
                    (a += '        host: ' + (0, i.PK)(r) + ',\n'),
                    isNaN(l)
                      ? (a += '        port: ' + (0, i.PK)(s) + ',\n')
                      : (a += '        port: ' + s + ',\n'),
                    e.proxyAuth)
                  ) {
                    const [t, n] = e.proxyAuth.split(/:(.*)/s, 2)
                    ;(a += '        auth: {\n'),
                      (a += '            user: ' + (0, i.PK)(t)),
                      void 0 !== n
                        ? ((a += ',\n'),
                          (a += '            password: ' + (0, i.PK)(n) + '\n'))
                        : (a += '\n'),
                      (a += '        },\n')
                  }
                  a.endsWith(',\n') && ((a = a.slice(0, -2)), (a += '\n')),
                    (a += '    },\n')
                }
                return (
                  a.endsWith(',\n') && (a = a.slice(0, -2)), (a += '\n}'), a
                )
              },
              d = (e, t = []) => {
                let n = "const axios = require('axios');\n"
                const r = new Set()
                let s = ''
                const o =
                  e.query &&
                  (!e.queryDict ||
                    Object.values(e.queryDict).some(e => Array.isArray(e)))
                if (o && e.query) {
                  s += 'const params = new URLSearchParams();\n'
                  for (const [t, n] of e.query) {
                    const e = n || ''
                    s +=
                      'params.append(' +
                      (0, i.PK)(t) +
                      ', ' +
                      (0, i.PK)(e) +
                      ');\n'
                  }
                  s += '\n'
                }
                if (e.multipartUploads) {
                  r.add(['FormData', 'form-data']),
                    (s += 'const form = new FormData();\n')
                  for (const t of e.multipartUploads)
                    (s += 'form.append(' + (0, i.PK)(t.name) + ', '),
                      'contentFile' in t
                        ? (r.add(['fs', 'fs']),
                          '-' === t.contentFile
                            ? (s += 'fs.readFileSync(0).toString()')
                            : (s +=
                                'fs.readFileSync(' +
                                (0, i.PK)(t.contentFile) +
                                ')'),
                          'filename' in t &&
                            t.filename &&
                            (s += ', ' + (0, i.PK)(t.filename)))
                        : (s += (0, i.PK)(t.content)),
                      (s += ');\n')
                  s += '\n'
                }
                const a = e.method.toLowerCase(),
                  l = [
                    'get',
                    'delete',
                    'head',
                    'options',
                    'post',
                    'put',
                    'patch'
                  ]
                ;(s += 'const response = await axios'),
                  l.includes(a) && (s += '.' + a),
                  (s += '(')
                const d = e.queryDict || o ? e.urlWithoutQuery : e.url,
                  p = ['post', 'put', 'patch']
                let h = !!(
                  e.query ||
                  e.queryDict ||
                  e.headers ||
                  e.auth ||
                  e.multipartUploads ||
                  (e.data && !p.includes(a)) ||
                  e.timeout ||
                  e.proxy
                )
                const f = p.includes(a) && (e.data || e.multipartUploads || h)
                let m, _
                if (f)
                  if (
                    ((s += '\n'), (s += '    ' + (0, i.PK)(d) + ',\n'), e.data)
                  ) {
                    try {
                      ;([m, _] = c(e)), m || (m = (0, i.PK)(e.data))
                    } catch (t) {
                      m = (0, i.PK)(e.data)
                    }
                    _ && (s += '    // ' + _ + ',\n'), (s += '    ' + m)
                  } else
                    e.multipartUploads
                      ? (s += '    form')
                      : h && (s += "    ''")
                else s += (0, i.PK)(d)
                if (
                  ((h = !!(
                    e.query ||
                    e.queryDict ||
                    (e.headers && e.headers.length) ||
                    e.auth ||
                    e.multipartUploads ||
                    (e.data && !p.includes(a)) ||
                    e.timeout ||
                    e.proxy
                  )),
                  h)
                ) {
                  const n = u(e, a, l, p, !!o, t)
                  if (f) {
                    s += ',\n'
                    for (const e of n.split('\n')) s += '    ' + e + '\n'
                  } else (s += ', '), (s += n)
                } else f && (s += '\n')
                s += ');\n'
                for (const [e, t] of Array.from(r).sort(i.wX))
                  n += 'const ' + e + ' = require(' + (0, i.PK)(t) + ');\n'
                return n + '\n' + s
              },
              p = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [d(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      6810: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { PK: () => c, V9: () => _, m1: () => m, wX: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'user',
                'digest',
                'no-digest',
                'upload-file'
              ]),
              l = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'user',
                'upload-file',
                'proxy'
              ]),
              c = (e, t) => {
                const n = i(e, {
                  quotes: 'single',
                  minimal: !1,
                  compact: !1,
                  indent: '    ',
                  indentLevel: t || 0
                })
                return 'string' == typeof e ? "'" + n + "'" : n
              },
              u = (e, t) => e[1].localeCompare(t[1]),
              d = e => {
                if (!e.data) return ['', null]
                const t = c(e.data),
                  n = s.wg(e)
                if ('application/json' === n)
                  try {
                    const n = JSON.parse(e.data)
                    if ('object' != typeof n || null === n) return [t, null]
                    const r = JSON.stringify(n) === e.data
                    return ['JSON.stringify(' + c(n, 1) + ')', r ? null : t]
                  } catch (e) {
                    return [t, null]
                  }
                if ('application/x-www-form-urlencoded' === n)
                  try {
                    const n = s.dD(e.data)[1]
                    return n &&
                      Object.values(n).every(e => 'string' == typeof e)
                      ? ('application/x-www-form-urlencoded' ===
                          s.Pg(e, 'content-type') && s.mK(e, 'content-type'),
                        ['new URLSearchParams(' + c(n, 1) + ')', null])
                      : [t, null]
                  } catch (e) {
                    return [t, null]
                  }
                return [t, null]
              },
              p = (e, t, n) => {
                const r = new Set(),
                  s = new Set()
                let i = ''
                if (e.multipartUploads) {
                  n && r.add('FormData'),
                    (i += 'const form = new FormData();\n')
                  for (const o of e.multipartUploads)
                    (i += 'form.append(' + c(o.name) + ', '),
                      'contentFile' in o
                        ? n
                          ? '-' === o.contentFile
                            ? (s.add(['fs', 'fs']),
                              (i += 'fs.readFileSync(0).toString()'),
                              o.filename && (i += ', ' + c(o.filename)))
                            : (r.add('fileFromSync'),
                              (i += 'fileFromSync(' + c(o.contentFile) + ')'))
                          : ((i +=
                              "File(['<data goes here>'], " +
                              c(o.contentFile) +
                              ')'),
                            t.push([
                              '--form',
                              "you can't read a file for --form/-F in the browser"
                            ]))
                        : (i += c(o.content)),
                      (i += ');\n')
                  i += '\n'
                }
                const [o, a] = d(e)
                if (e.auth && e.digest) {
                  const [t, n] = e.auth
                  s.add(['* as DigestFetch', 'digest-fetch']),
                    (i +=
                      'const client = new DigestFetch(' +
                      c(t) +
                      ', ' +
                      c(n) +
                      ');\n'),
                    (i += 'client.')
                }
                i += 'fetch(' + c(e.url)
                const l = e.method.toLowerCase()
                if (
                  'get' !== l ||
                  (e.headers && e.headers.length) ||
                  (e.auth && !e.digest) ||
                  e.data ||
                  e.multipartUploads ||
                  (n && e.proxy)
                ) {
                  if (
                    ((i += ', {\n'),
                    'get' !== l && (i += '    method: ' + c(e.method) + ',\n'),
                    (e.headers && e.headers.length) || e.auth)
                  ) {
                    i += '    headers: {\n'
                    for (const [t, n] of e.headers || [])
                      i += '        ' + c(t) + ': ' + c(n || '') + ',\n'
                    if (e.auth && !e.digest) {
                      const [t, n] = e.auth
                      i +=
                        "        'Authorization': 'Basic ' + btoa(" +
                        c(t + ':' + n) +
                        '),\n'
                    }
                    i.endsWith(',\n') && ((i = i.slice(0, -2)), (i += '\n')),
                      (i += '    },\n')
                  }
                  if (
                    (e.data
                      ? (a && (i += '    // body: ' + a + ',\n'),
                        (i += '    body: ' + o + ',\n'))
                      : e.multipartUploads
                      ? (i += '    body: form,\n')
                      : e.uploadFile &&
                        (n
                          ? (r.add('fileFromSync'),
                            (i +=
                              '    body: fileFromSync(' +
                              c(e.uploadFile) +
                              '),\n'))
                          : ((i +=
                              "    body: File(['<data goes here>'], " +
                              c(e.uploadFile) +
                              '),\n'),
                            t.push([
                              '--form',
                              "you can't read a file for --upload-file/-F in the browser"
                            ]))),
                    n && e.proxy)
                  ) {
                    const n = e.proxy.includes('://')
                      ? e.proxy
                      : 'http://' + e.proxy
                    let [r] = n.split(/:\/\/(.*)/s, 2)
                    switch (
                      ((r = r.toLowerCase()),
                      r || (r = 'http'),
                      'socks' === r &&
                        ((r = 'socks4'), n.replace(/^socks/, 'socks4')),
                      r)
                    ) {
                      case 'socks4':
                      case 'socks5':
                      case 'socks5h':
                      case 'socks4a':
                        s.add(['{ SocksProxyAgent }', 'socks-proxy-agent']),
                          (i +=
                            '    agent: new SocksProxyAgent(' + c(n) + '),\n')
                        break
                      case 'http':
                      case 'https':
                        s.add(['HttpsProxyAgent', 'https-proxy-agent']),
                          (i +=
                            '    agent: new HttpsProxyAgent(' + c(n) + '),\n')
                        break
                      default:
                        t.push([
                          '--proxy',
                          'failed to parse --proxy/-x or unknown protocol: ' + r
                        ])
                    }
                  }
                  i.endsWith(',\n') && (i = i.slice(0, -2)), (i += '\n}')
                }
                i += ');'
                let p = ''
                if (
                  (n &&
                    ((p += 'import fetch'),
                    r.size &&
                      (p +=
                        ', { ' +
                        Array.from(r)
                          .sort()
                          .join(', ') +
                        ' }'),
                    (p += " from 'node-fetch';\n")),
                  s.size)
                )
                  for (const [e, t] of Array.from(s).sort(u))
                    p += 'import ' + e + ' from ' + c(t) + ';\n'
                return p && (i = p + '\n' + i), i + '\n'
              },
              h = (e, t = []) => p(e, t, !1),
              f = (e, t = []) => p(e, t, !0),
              m = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [h(n, t), t]
              },
              _ = (e, t = []) => {
                const n = s.EH(e, l, t)
                return [f(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      9963: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { c3: () => c })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'get',
                'header',
                'head',
                'no-head',
                'user'
              ]),
              l = (e, t = []) => {
                let n = "var request = require('request');\n\n"
                if (e.headers) {
                  n += 'var headers = {\n'
                  const t = e.headers ? e.headers.length : 0
                  let r = 0
                  for (const [s, i] of e.headers || [])
                    (n += "    '" + s + "': '" + i + "'"),
                      (n += r < t - 1 ? ',\n' : '\n'),
                      r++
                  n += '};\n\n'
                }
                if (
                  (e.data &&
                    (e.data.indexOf("'") > -1 && (e.data = i(e.data)),
                    (n += "var dataString = '" + e.data + "';\n\n")),
                  (n += 'var options = {\n'),
                  (n += "    url: '" + e.url + "'"),
                  'GET' !== e.method.toUpperCase() &&
                    (n += ",\n    method: '" + e.method.toUpperCase() + "'"),
                  e.headers)
                ) {
                  ;(n += ',\n'), (n += '    headers: headers')
                  const t = s.Pg(e, 'accept-encoding')
                  if (t) {
                    const e = t.split(',').map(e => e.trim().toLowerCase())
                    ;(e.includes('gzip') || e.includes('deflate')) &&
                      (n += ',\n    gzip: true')
                  }
                }
                if ((e.data && (n += ',\n    body: dataString'), e.auth)) {
                  n += ',\n'
                  const [t, r] = e.auth
                  ;(n += '    auth: {\n'),
                    (n += "        'user': '" + t + "',\n"),
                    (n += "        'pass': '" + r + "'\n"),
                    (n += '    }\n')
                } else n += '\n'
                return (
                  (n += '};\n\n'),
                  (n += 'function callback(error, response, body) {\n'),
                  (n += '    if (!error && response.statusCode == 200) {\n'),
                  (n += '        console.log(body);\n'),
                  (n += '    }\n'),
                  (n += '}\n\n'),
                  (n += 'request(options, callback);'),
                  n + '\n'
                )
              },
              c = (e, t = []) => {
                const n = s.EH(e, a, t)
                return (
                  t.unshift([
                    'node-request',
                    'the request package is deprecated'
                  ]),
                  [l(n, t), t]
                )
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      6502: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { ex: () => u })
            var s = n(5156),
              i = e([s])
            s = (i.then ? (await i)() : i)[0]
            const o = new Set([
              'url',
              'request',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'user'
            ])
            function a (e) {
              if (!e.data) return {}
              const [t, n] = s.dD(e.data)
              if (!t || !t.length || t.some(e => null === e[1])) {
                const t = {}
                return (t[e.data] = ''), { data: t }
              }
              if (n) {
                const e = {}
                for (const [t, r] of Object.entries(n))
                  Array.isArray(r)
                    ? (e[t] = r.map(e => (null != e ? e : '')))
                    : (e[t] = null != r ? r : '')
                return { data: e }
              }
              return Object.fromEntries(
                t.map(e => {
                  var t
                  return [e[0], null !== (t = e[1]) && void 0 !== t ? t : '']
                })
              )
            }
            function l (e) {
              if (!e.multipartUploads) return
              const t = { files: {}, data: {} }
              for (const n of e.multipartUploads)
                'contentFile' in n
                  ? (t.files[n.name] = n.contentFile)
                  : (t.data[n.name] = n.content)
              return {
                files: Object.keys(t.files).length ? t.files : void 0,
                data: Object.keys(t.data).length ? t.data : void 0
              }
            }
            const c = (e, t = []) => {
                const n = {
                  url: (e.queryDict ? e.urlWithoutQuery : e.url).replace(
                    /\/$/,
                    ''
                  ),
                  raw_url: e.url,
                  method: e.method.toLowerCase()
                }
                if (
                  (e.cookies && (n.cookies = Object.fromEntries(e.cookies)),
                  e.headers && (n.headers = Object.fromEntries(e.headers)),
                  e.queryDict && (n.queries = e.queryDict),
                  e.data && 'string' == typeof e.data
                    ? Object.assign(n, a(e))
                    : e.multipartUploads && Object.assign(n, l(e)),
                  e.insecure && (n.insecure = !1),
                  e.auth)
                ) {
                  const [t, r] = e.auth
                  n.auth = { user: t, password: r }
                }
                return (
                  JSON.stringify(Object.keys(n).length ? n : '{}', null, 4) +
                  '\n'
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, o, t)
                return [c(n, t), t]
              }
            r()
          } catch (d) {
            r(d)
          }
        })
      },
      1853: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, {
              DI: () => l,
              Fi: () => d,
              Hv: () => m,
              N3: () => c,
              PK: () => a,
              U: () => p,
              Uu: () => h,
              WA: () => f,
              Zv: () => u,
              pe: () => _
            })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = e =>
                e
                  ? "'" + i(e, { quotes: 'single' }).replace(/\\'/g, "''") + "'"
                  : "''",
              l = (e, t, n) => {
                let r = ''
                return (
                  e && (r += e + ' = '), (r += t), (r += null == n ? ';' : n), r
                )
              },
              c = (e, t, n, r) => {
                let s = t + '('
                if (Array.isArray(n)) {
                  const i = n
                      .map(e => (Array.isArray(e) ? e.join(', ') : e))
                      .join(', '),
                    o = '...\n' + ' '.repeat(4)
                  let a = o
                  ;(a += n
                    .map(e => (Array.isArray(e) ? e.join(', ') : e))
                    .join(',' + o)),
                    (a += '...\n'),
                    (s +=
                      [e, t, i]
                        .map(e => (e ? e.length : 0))
                        .reduce((e, t) => e + t) +
                        (e ? 3 : 0) +
                        2 +
                        (r ? r.length : 1) <
                      120
                        ? i
                        : a)
                } else s += n
                return (s += ')'), l(e, s, r)
              },
              u = (e, t, n, r, s) => {
                const i = ' '.repeat(4),
                  o = i.repeat(r),
                  l = i.repeat(r - 1),
                  c = Object.entries(e)
                if (0 === c.length) return ''
                let u = s ? '' : '{'
                if (1 === c.length) {
                  const [e, r] = c.pop()
                  let s = r
                  t && !t.includes(e) && (s = `${a(r)}`),
                    (u += `${a(e)}${n} ${s}`)
                } else {
                  s && (u += '...')
                  let e = c.length
                  for (const [r, i] of c) {
                    let l = i
                    null !== l &&
                      (--e,
                      t &&
                        !t.includes(r) &&
                        (l =
                          'object' == typeof l
                            ? `[${l.map(a).join()}]`
                            : `${a(l)}`),
                      (u += `\n${o}${a(r)}${n} ${l}`),
                      s && (0 !== e && (u += ','), (u += '...')))
                  }
                  u += `\n${l}`
                }
                return (u += s ? '' : '}'), u
              },
              d = (e, t) => {
                let n = ''
                t = t ? ++t : 1
                const r = ' '.repeat(4 * t),
                  i = ' '.repeat(4 * (t - 1))
                if (e instanceof Array) {
                  const s = []
                  let o = !0
                  for (const n in e) {
                    o && 'number' != typeof e[n] && (o = !1)
                    const r = d(e[n], t)
                    s.push(`${r}`)
                  }
                  o
                    ? (n += `[${s.join(' ')}]`)
                    : (s.unshift('{{'), (n += `${s.join(`\n${r}`)}\n${i}}}`))
                } else if (e instanceof Object) {
                  n += 'struct(...'
                  let o = !0
                  for (const i in e)
                    if (Object.prototype.hasOwnProperty.call(e, i)) {
                      if (!i[0].match(/[a-z]/i))
                        throw new s.FV(
                          'MATLAB structs do not support keys starting with non-alphabet symbols'
                        )
                      o ? (o = !1) : (n += ',...'),
                        (n += `\n${r}`),
                        (n += `'${i}', `),
                        (n += d(e[i], t))
                    }
                  ;(n += '...'), (n += `\n${i})`)
                } else n += 'number' == typeof e ? `${e}` : `${a(e)}`
                return n
              },
              p = e =>
                Boolean(
                  Object.prototype.hasOwnProperty.call(e, 'data') ||
                    e.multipartUploads
                ),
              h = e => {
                if (e.queryDict) {
                  const t = u(e.queryDict, [], '', 1)
                  return l('params', t)
                }
                return null
              },
              f = e => {
                if (e.cookies) {
                  const t = u(Object.fromEntries(e.cookies), [], '', 1)
                  return l('cookies', t)
                }
                return null
              },
              m = "char(join(join(cookies, '='), '; '))",
              _ = "char(join(join(params, '='), '&'))"
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      5990: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { X: () => f })
            var s = n(1853),
              i = e([s])
            s = (i.then ? (await i)() : i)[0]
            const o = e => {
                let t = null
                if (e.headers) {
                  const n = e.headers.length + (e.cookies ? 1 : 0),
                    r = []
                  let i = 1 === n ? '' : '['
                  for (const [t, n] of e.headers)
                    if (null !== n)
                      switch (t) {
                        case 'Cookie':
                          break
                        case 'Accept': {
                          const e = n.split(',')
                          if (1 === e.length)
                            r.push(
                              `field.AcceptField(MediaType(${(0, s.PK)(n)}))`
                            )
                          else {
                            let t = 'field.AcceptField(['
                            for (const n of e)
                              t += `\n        MediaType(${(0, s.PK)(n.trim())})`
                            ;(t += '\n    ])'), r.push(t)
                          }
                          break
                        }
                        default:
                          r.push(
                            `HeaderField(${(0, s.PK)(t)}, ${(0, s.PK)(n)})`
                          )
                      }
                  if (1 === n) i += r.pop()
                  else {
                    if (((i += '\n    ' + r.join('\n    ')), e.cookies)) {
                      const e = (0, s.N3)(
                        null,
                        'cellfun',
                        [
                          '@(x) Cookie(x{:})',
                          (0, s.N3)(null, 'num2cell', ['cookies', '2'], '')
                        ],
                        ''
                      )
                      i +=
                        '\n    ' + (0, s.N3)(null, 'field.CookieField', e, '')
                    }
                    i += "\n]'"
                  }
                  t = (0, s.DI)('header', i)
                }
                return t
              },
              a = e => {
                const t = []
                return (
                  e.queryDict
                    ? (t.push((0, s.PK)(e.urlWithoutQuery)),
                      t.push("QueryParameter(params')"))
                    : t.push((0, s.PK)(e.url)),
                  (0, s.N3)('uri', 'URI', t)
                )
              },
              l = e => {
                const t = [],
                  n = []
                if (e.auth) {
                  const [r, i] = e.auth,
                    o = `'Username', ${(0, s.PK)(r)}`,
                    a = (r ? `${o}, ` : '') + `'Password', ${(0, s.PK)(i)}`
                  n.push((0, s.PK)('Credentials'), 'cred'),
                    t.push((0, s.N3)('cred', 'Credentials', a))
                }
                return (
                  e.insecure && n.push((0, s.PK)('VerifyServerName'), 'false'),
                  n.length > 0 &&
                    t.push((0, s.N3)('options', 'HTTPOptions', n)),
                  t
                )
              },
              c = e => {
                let t = null
                if (e.multipartUploads) {
                  const n = []
                  for (const t of e.multipartUploads) {
                    const e =
                        'contentFile' in t ? '@' + t.contentFile : t.content,
                      r = d(e, null, '', 1, !0, !('contentFile' in t))
                    n.push([(0, s.PK)(t.name), r])
                  }
                  t = (0, s.N3)('body', 'MultipartFormProvider', n)
                }
                return t
              },
              u = e => {
                try {
                  JSON.parse(e)
                } catch (e) {
                  return !1
                }
                return !0
              },
              d = (e, t, n, r, i, o) => {
                if (
                  (null == r && (r = 0),
                  void 0 === i && (i = !0),
                  !o && '@' === e[0])
                ) {
                  const r = e.slice(1),
                    o = new Set(['jpeg', 'jpg', 'png', 'tif', 'gif']).has(
                      r.split('.')[1]
                    )
                      ? 'ImageProvider'
                      : 'FileProvider'
                  return i
                    ? (0, s.N3)(t, o, (0, s.PK)(r), n)
                    : [
                        (0, s.N3)(t, 'fileread', (0, s.PK)(r)),
                        (0, s.DI)(`${t}(${t}==13 | ${t}==10)`, '[]')
                      ]
                }
                if ('' === e) return (0, s.N3)(t, 'FileProvider', '', n)
                if ('number' != typeof e && u(e)) {
                  const i = JSON.parse(e)
                  try {
                    const e = (0, s.Fi)(i, r)
                    return (0, s.N3)(t, 'JSONProvider', e, n)
                  } catch (r) {
                    return (0, s.N3)(t, 'StringProvider', (0, s.PK)(e), n)
                  }
                }
                if ('number' == typeof e)
                  return (0, s.N3)(t, 'FormProvider', (0, s.PK)(e), n)
                const a = e
                  .split('&')
                  .map(e => e.split('=').map(e => (0, s.PK)(e)))
                return (0, s.N3)(t, 'FormProvider', a, n)
              },
              p = e => {
                let t = null
                if (e.dataArray) {
                  const n = e.dataArray.map(e =>
                    e.split('=').map(e => {
                      let t = (0, s.PK)(e)
                      try {
                        const n = JSON.parse(e)
                        'object' == typeof n &&
                          (t = (0, s.N3)(
                            null,
                            'JSONProvider',
                            (0, s.Fi)(n, 1),
                            ''
                          ))
                      } catch (e) {}
                      return t
                    })
                  )
                  t = (0, s.N3)('body', 'FormProvider', n)
                } else
                  Object.prototype.hasOwnProperty.call(e, 'data') &&
                    ((t = d(
                      e.data,
                      'body',
                      ';',
                      0,
                      !!e.isDataBinary,
                      !!e.isDataRaw
                    )),
                    t || (t = (0, s.DI)('body', (0, s.PK)(e.data))))
                return t
              },
              h = e => {
                let t = [(0, s.PK)(e.method.toLowerCase())]
                e.cookies || e.headers
                  ? t.push('header')
                  : 'get' === e.method.toLowerCase() && (t = ''),
                  (0, s.U)(e) &&
                    (1 === t.length && t.push('[]'), t.push('body'))
                const n = ['uri.EncodedURI']
                return (
                  (e.auth || e.insecure) && n.push('options'),
                  [
                    (0, s.N3)(
                      'response',
                      'RequestMessage',
                      t,
                      (0, s.N3)(null, '.send', n)
                    )
                  ].join('\n')
                )
              },
              f = (e, t) => [
                [
                  '%% HTTP Interface',
                  'import matlab.net.*',
                  'import matlab.net.http.*',
                  (0, s.U)(e) ? 'import matlab.net.http.io.*' : null,
                  '',
                  (0, s.Uu)(e),
                  (0, s.WA)(e),
                  o(e),
                  a(e),
                  l(e),
                  c(e),
                  p(e),
                  h(e),
                  ''
                ],
                t
              ]
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      3326: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { dx: () => u })
            var s = n(5156),
              i = n(3613),
              o = n(5990),
              a = e([s, i, o])
            ;[s, i, o] = a.then ? (await a)() : a
            const l = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'insecure',
                'no-insecure',
                'user'
              ]),
              c = (e, t = []) => {
                let n, r
                return (
                  ([n, t] = (0, i.X)(e, t)),
                  ([r, t] = (0, o.X)(e, t)),
                  n
                    .concat('', r)
                    .flat()
                    .filter(e => null !== e)
                    .join('\n')
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, l, t)
                return [c(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      3613: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { X: () => p })
            var s = n(1853),
              i = e([s])
            s = (i.then ? (await i)() : i)[0]
            const o = e =>
                !!new Set(['get', 'post', 'put', 'delete', 'patch']).has(
                  e.method.toLowerCase()
                ) &&
                !e.multipartUploads &&
                !e.insecure,
              a = e => {
                const t = {}
                'get' !== e.method.toLowerCase() &&
                  'post' !== e.method.toLowerCase() &&
                  (t.RequestMethod = e.method.toLowerCase())
                const n = {}
                if (e.auth) {
                  const [r, i] = e.auth
                  '' !== r
                    ? ((t.Username = r), (t.Password = i))
                    : (n.Authorization = `['Basic ' matlab.net.base64encode(${(0,
                      s.PK)(r + ':' + i)})]`)
                }
                if (e.headers)
                  for (const [r, s] of e.headers)
                    if (null !== s)
                      switch (r) {
                        case 'User-Agent':
                        case 'user-agent':
                          t.UserAgent = s
                          break
                        case 'Content-Type':
                          t.MediaType = s
                          break
                        case 'Cookie':
                          n.Cookie = s
                          break
                        case 'Accept':
                          switch (s) {
                            case 'application/json':
                              t.ContentType = 'json'
                              break
                            case 'text/csv':
                              t.ContentType = 'table'
                              break
                            case 'text/plain':
                            case 'text/html':
                            case 'application/javascript':
                            case 'application/x-javascript':
                            case 'application/x-www-form-urlencoded':
                              t.ContentType = 'text'
                              break
                            case 'text/xml':
                            case 'application/xml':
                              t.ContentType = 'xmldom'
                              break
                            case 'application/octet-stream':
                              t.ContentType = 'binary'
                              break
                            default:
                              s.startsWith('image/')
                                ? (t.ContentType = 'image')
                                : s.startsWith('audio/')
                                ? (t.ContentType = 'audio')
                                : (n[r] = s)
                          }
                          break
                        default:
                          n[r] = s
                      }
                if (
                  (e.cookies && (n.Cookie = s.Hv), Object.entries(n).length > 0)
                ) {
                  const e = 1 + (0 === Object.keys(t).length ? 0 : 1)
                  t.HeaderFields = (0, s.Zv)(
                    n,
                    ['Authorization', 'Cookie'],
                    '',
                    e
                  )
                }
                return t
              },
              l = (e, t) => {
                const n = []
                if (0 === Object.keys(t).length) return n
                const r = (0, s.Zv)(t, ['HeaderFields'], ',', 1, !0)
                return n.push((0, s.N3)('options', 'weboptions', r)), n
              },
              c = e => {
                const t = []
                return (
                  e.queryDict
                    ? (t.push(
                        (0, s.DI)('baseURI', (0, s.PK)(e.urlWithoutQuery))
                      ),
                      t.push((0, s.DI)('uri', `[baseURI '?' ${s.pe}]`)))
                    : t.push((0, s.DI)('uri', (0, s.PK)(e.url))),
                  t
                )
              },
              u = e => {
                let t = []
                if (Object.prototype.hasOwnProperty.call(e, 'data'))
                  if ('' === e.data) t = (0, s.DI)('body', (0, s.PK)())
                  else if ('@' === e.data[0])
                    t.push(
                      (0, s.N3)('body', 'fileread', (0, s.PK)(e.data.slice(1)))
                    ),
                      e.isDataBinary ||
                        t.push((0, s.DI)('body(body==13 | body==10)', '[]'))
                  else
                    try {
                      const n = JSON.parse(e.data)
                      if ('object' == typeof n) {
                        let e = (0, s.Fi)(n)
                        e.startsWith('struct') || (e = (0, s.PK)(e)),
                          (t = (0, s.DI)('body', e))
                      } else t = (0, s.DI)('body', (0, s.PK)(e.data))
                    } catch (n) {
                      t = (0, s.DI)('body', (0, s.PK)(e.data))
                    }
                return t
              },
              d = (e, t) => {
                const n = [],
                  r = (0, s.U)(e) ? 'webwrite' : 'webread',
                  i = ['uri']
                return (
                  (0, s.U)(e) && i.push('body'),
                  Object.keys(t).length > 0 && i.push('options'),
                  n.push((0, s.N3)('response', r, i)),
                  n
                )
              },
              p = (e, t) => {
                let n = ['%% Web Access using Data Import and Export API']
                if (!o(e))
                  return (
                    n.push(
                      '% This is not possible with the webread/webwrite API'
                    ),
                    [n, t]
                  )
                const r = a(e)
                return (
                  (n = n.concat([
                    (0, s.Uu)(e),
                    (0, s.WA)(e),
                    c(e),
                    u(e),
                    l(e, r),
                    d(e, r)
                  ])),
                  [n, t]
                )
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      1416: (e, t, n) => {
        'use strict'
        n.a(e, async (e, t) => {
          try {
            var r = n(5156),
              s = (n(3571), e([r]))
            ;(r = (s.then ? (await s)() : s)[0]),
              new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'get',
                'header',
                'head',
                'no-head',
                'user'
              ]),
              t()
          } catch (e) {
            t(e)
          }
        })
      },
      128: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { LW: () => u })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'compressed',
                'no-compressed',
                'digest',
                'no-digest',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'insecure',
                'no-insecure',
                'user',
                'proxy-user',
                'proxy',
                'max-time',
                'location'
              ]),
              l = e => i(e, { quotes: 'single' }),
              c = (e, t = []) => {
                let n
                s.L4(e, 'cookie') &&
                  ((n = s.Pg(e, 'cookie')), s.mK(e, 'cookie'))
                let r = '<?php\n'
                if (
                  ((r += '$ch = curl_init();\n'),
                  (r += "curl_setopt($ch, CURLOPT_URL, '" + l(e.url) + "');\n"),
                  (r += 'curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n'),
                  (r +=
                    "curl_setopt($ch, CURLOPT_CUSTOMREQUEST, '" +
                    e.method +
                    "');\n"),
                  e.headers || e.compressed)
                ) {
                  let t = '[\n'
                  e.compressed &&
                    (e.headers
                      ? s.L4(e, 'accept-encoding') ||
                        e.headers.push(['Accept-Encoding', 'gzip'])
                      : (t += "    'Accept-Encoding' => 'gzip',\n"))
                  for (const [n, r] of e.headers || [])
                    null !== r &&
                      (t += "    '" + l(n) + "' => '" + l(r) + "',\n")
                  ;(t += ']'),
                    (r += 'curl_setopt($ch, CURLOPT_HTTPHEADER, ' + t + ');\n')
                }
                if (
                  (n &&
                    (r +=
                      "curl_setopt($ch, CURLOPT_COOKIE, '" + l(n) + "');\n"),
                  e.auth &&
                    ((r +=
                      'curl_setopt($ch, CURLOPT_HTTPAUTH, ' +
                      (e.digest ? 'CURLAUTH_DIGEST' : 'CURLAUTH_BASIC') +
                      ');\n'),
                    (r +=
                      "curl_setopt($ch, CURLOPT_USERPWD, '" +
                      l(e.auth.join(':')) +
                      "');\n")),
                  e.data || e.multipartUploads)
                ) {
                  let t = ''
                  if (e.multipartUploads) {
                    t = '[\n'
                    for (const n of e.multipartUploads)
                      t +=
                        'contentFile' in n
                          ? "    '" +
                            l(n.name) +
                            "' => new CURLFile('" +
                            l(n.contentFile) +
                            "'),\n"
                          : "    '" +
                            l(n.name) +
                            "' => '" +
                            l(n.content) +
                            "',\n"
                    t += ']'
                  } else
                    t =
                      e.isDataBinary && '@' === e.data.charAt(0)
                        ? "file_get_contents('" + l(e.data.substring(1)) + "')"
                        : "'" + l(e.data) + "'"
                  r += 'curl_setopt($ch, CURLOPT_POSTFIELDS, ' + t + ');\n'
                }
                return (
                  e.proxy &&
                    ((r +=
                      "curl_setopt($ch, CURLOPT_PROXY, '" +
                      l(e.proxy) +
                      "');\n"),
                    e.proxyAuth &&
                      (r +=
                        "curl_setopt($ch, CURLOPT_PROXYUSERPWD, '" +
                        l(e.proxyAuth) +
                        "');\n")),
                  e.timeout &&
                    (r +=
                      'curl_setopt($ch, CURLOPT_TIMEOUT, ' +
                      (parseInt(e.timeout) || 0) +
                      ');\n'),
                  e.followRedirects &&
                    (r += 'curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n'),
                  e.insecure &&
                    ((r +=
                      'curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);\n'),
                    (r +=
                      'curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\n')),
                  (r += '\n$response = curl_exec($ch);\n\n'),
                  (r += 'curl_close($ch);\n'),
                  r
                )
              },
              u = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [c(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      2505: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { ZJ: () => _ })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'compressed',
              'no-compressed',
              'digest',
              'no-digest',
              'http1.0',
              'http1.1',
              'http2',
              'http2-prior-knowledge',
              'http3',
              'http0.9',
              'no-http0.9',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'cert',
              'cacert',
              'key',
              'capath',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'output',
              'user',
              'upload-file',
              'proxy-user',
              'proxy'
            ])
            function l (e, t) {
              return e
                ? t
                  ? 'f"' + i(e, { quotes: 'double', minimal: !0 }) + '"'
                  : "'" + i(e, { quotes: 'single', minimal: !0 }) + "'"
                : "''"
            }
            function c (e) {
              return l(e, !1)
            }
            function u (e, t = 0) {
              let n = ''
              switch (typeof e) {
                case 'string':
                  n += c(e)
                  break
                case 'number':
                  n += e
                  break
                case 'boolean':
                  n += e ? 'True' : 'False'
                  break
                case 'object':
                  if (null === e) n += 'None'
                  else if (Array.isArray(e))
                    if (0 === e.length) n += '[]'
                    else {
                      n += '[\n'
                      for (const r of e)
                        n += ' '.repeat(t + 4) + u(r, t + 4) + ',\n'
                      n += ' '.repeat(t) + ']'
                    }
                  else if (0 === Object.keys(e).length) n += '{}'
                  else {
                    n += '{\n'
                    for (const [r, s] of Object.entries(e))
                      n += ' '.repeat(t + 4) + c(r) + ': ' + u(s, t + 4) + ',\n'
                    n += ' '.repeat(t) + '}'
                  }
                  break
                default:
                  throw new s.FV(
                    "unexpected object type that shouldn't appear in JSON: " +
                      typeof e
                  )
              }
              return n
            }
            function d (e) {
              if (!Array.isArray(e)) return u(e)
              if (0 === e.length) return '[]'
              let t = '[\n'
              for (const n of e) t += '    (' + n.map(u).join(', ') + '),\n'
              return (t += ']'), t
            }
            function p (e) {
              if (!e.data) return [null, !1, null, null]
              if (!e.isDataRaw && e.data.startsWith('@')) {
                let t = e.data.slice(1)
                if ('-' === t)
                  if (e.stdinFile) t = e.stdinFile
                  else {
                    if (!e.stdin)
                      return e.isDataBinary
                        ? [
                            "data = sys.stdin.buffer.read().replace(b'\\n', b'')\n",
                            !0,
                            null,
                            null
                          ]
                        : [
                            "data = sys.stdin.read().replace('\\n', '')\n",
                            !0,
                            null,
                            null
                          ]
                    e.data = e.stdin
                  }
                if (!e.stdin)
                  return e.isDataBinary
                    ? [
                        'with open(' +
                          c(t) +
                          ", 'rb') as f:\n    data = f.read().replace(b'\\n', b'')\n",
                        !1,
                        null,
                        null
                      ]
                    : [
                        'with open(' +
                          c(t) +
                          ") as f:\n    data = f.read().replace('\\n', '')\n",
                        !1,
                        null,
                        null
                      ]
              }
              const t = 'data = ' + c(e.data) + '\n',
                n = s.Pg(e, 'content-type')
              if (n && 'application/json' === n.split(';')[0].trim())
                try {
                  const n = JSON.parse(e.data),
                    r = JSON.stringify(n) === e.data
                  return [t, !1, 'json_data = ' + u(n) + '\n', r]
                } catch (e) {}
              const [r, i] = s.dD(e.data)
              if (
                !e.isDataBinary &&
                r &&
                r.length &&
                !r.some(e => null === e[1])
              ) {
                const t = 'data = ' + d(i || r) + '\n'
                return (
                  'application/x-www-form-urlencoded' ===
                    s.Pg(e, 'content-type') && s.mK(e, 'content-type'),
                  [t, !1, null, null]
                )
              }
              return [t, !1, null, null]
            }
            function h (e) {
              let t = !1
              if (!e.multipartUploads) return ['', t]
              const n = e.multipartUploads.map(e => {
                  const n = e.name ? c(e.name) : 'None',
                    r = 'filename' in e && e.filename ? c(e.filename) : 'None'
                  return 'contentFile' in e
                    ? '-' === e.contentFile
                      ? ((t = !0), [n, '(' + r + ', sys.stdin.buffer.read())'])
                      : e.contentFile === e.filename
                      ? [n, 'open(' + c(e.contentFile) + ", 'rb')"]
                      : [n, '(' + r + ', open(' + c(e.contentFile) + ", 'rb'))"]
                    : [n, '(' + r + ', ' + c(e.content) + ')']
                }),
                r = Object.fromEntries(n)
              let s = 'files = '
              if (Object.keys(r).length === n.length) {
                s += '{\n'
                for (const [e, t] of n) s += '    ' + e + ': ' + t + ',\n'
                s += '}\n'
              } else {
                s += '[\n'
                for (const [e, t] of n) s += '    (' + e + ', ' + t + '),\n'
                s += ']\n'
              }
              return [s, t]
            }
            function f (e) {
              const t = new Set()
              let n = 1,
                r = -1
              const s = new Set(' \n\t'),
                i = []
              for (let o = 0; o < e.length; o++) {
                const a = o,
                  l = e[a]
                if (0 === n && s.has(l)) {
                  const s = e.substring(r, a)
                  '' !== s
                    ? (t.add(s), i.push('{' + s + '}' + l))
                    : i.push('$' + l),
                    (n = 1),
                    (r = -1)
                } else
                  0 !== n && ('$' === l ? ((n = 0), (r = a + 1)) : i.push(l))
              }
              if (0 === n) {
                const n = e.substring(r, e.length)
                '' !== n ? (t.add(n), i.push('{' + n + '}')) : i.push('$')
              }
              return [t, i.join('')]
            }
            const m = (e, t = []) => {
                const n = new Set(),
                  r = new Set(),
                  i = { 'accept-encoding': '', 'content-length': '' }
                let o, a, u, m
                if (
                  ('trailers' === s.Pg(e, 'te') &&
                    (i.te = "Requests doesn't support trailers"),
                  e.cookies)
                ) {
                  o = 'cookies = {\n'
                  for (const [t, n] of e.cookies) {
                    const [e, s] = f(n),
                      i = e.size > 0
                    for (const t of e) r.add(t)
                    o += '    ' + c(t) + ': ' + l(s, i) + ',\n'
                  }
                  ;(o += '}\n'),
                    (i.cookie =
                      e.cookies.length > 1
                        ? 'Requests sorts cookies= alphabetically'
                        : ''),
                    e.cookieFiles &&
                      t.push([
                        'cookie-files',
                        'passing both cookies and cookie files is not supported'
                      ])
                } else if (e.cookieFiles && e.cookieFiles.length) {
                  const t = e.cookieFiles[e.cookieFiles.length - 1]
                  n.add('http'),
                    (o =
                      'cookies = http.cookiejar.MozillaCookieJar(' +
                      c(t) +
                      ')\n')
                }
                if (e.proxy) {
                  const t = e.proxy.includes('://')
                      ? e.proxy
                      : 'http://' + e.proxy,
                    n = t.split('://')[0].toLowerCase()
                  switch (((a = 'proxies = {\n'), n)) {
                    case 'http':
                    case 'https':
                      ;(a += "    'http': " + c(t) + ',\n'),
                        (a += "    'https': " + c(t) + ',\n')
                      break
                    case 'socks':
                      a += "    'socks4': " + c(t) + ',\n'
                      break
                    default:
                      a += "    '" + n + "': " + c(t) + ',\n'
                  }
                  a += '}\n'
                }
                e.cert &&
                  ((u = 'cert = '),
                  Array.isArray(e.cert)
                    ? (u += '(' + e.cert.map(c).join(', ') + ')')
                    : (u += c(e.cert)),
                  (u += '\n')),
                  e.query &&
                    (m = 'params = ' + d(e.queryDict || e.query) + '\n')
                const _ = s.Pg(e, 'content-type')
                let g,
                  b,
                  y,
                  w,
                  v,
                  E,
                  x = !1
                if (
                  (e.uploadFile
                    ? '-' === e.uploadFile || '.' === e.uploadFile
                      ? ((g = 'data = sys.stdin.buffer.read()\n'), (x = !0))
                      : ((g =
                          'with open(' + c(e.uploadFile) + ", 'rb') as f:\n"),
                        (g += '    data = f.read()\n'))
                    : e.data
                    ? (([g, x, b, y] = p(e)),
                      b &&
                        _ &&
                        'application/json' === _.trim() &&
                        ((i['content-type'] =
                          'Already added when you pass json='),
                        y ||
                          (i['content-type'] +=
                            ' but not when you pass data=')))
                    : e.multipartUploads &&
                      (([w, x] = h(e)),
                      w &&
                        _ &&
                        'multipart/form-data' === _.trim() &&
                        !_.includes('boundary=') &&
                        (i['content-type'] =
                          "requests won't add a boundary if this header is set when you pass files=")),
                  x && n.add('sys'),
                  e.headers && e.headers.length)
                ) {
                  v = 'headers = {\n'
                  for (const [t, n] of e.headers) {
                    if (null === n) continue
                    const [e, o] = f(n),
                      a = e.size > 0
                    for (const t of e) r.add(t)
                    let u
                    s.e$(i, t.toLowerCase())
                      ? (i[t.toLowerCase()] &&
                          (v += '    # ' + i[t.toLowerCase()] + '\n'),
                        (u = '    # '))
                      : (u = '    '),
                      (v += u + c(t) + ': ' + l(o, a) + ',\n')
                  }
                  ;(v += '}\n'),
                    e.headers.length > 1 &&
                      e.headers.every(e => e[0] === e[0].toLowerCase()) &&
                      !e.http2 &&
                      !e.http3 &&
                      t.push([
                        '--header',
                        'all the --header/-H names are lowercase, which means this may have been an HTTP/2 or HTTP/3 request. Requests only sends HTTP/1.1'
                      ])
                }
                E = [
                  'GET',
                  'HEAD',
                  'POST',
                  'PATCH',
                  'PUT',
                  'DELETE',
                  'OPTIONS'
                ].includes(e.method)
                  ? 'response = requests.' +
                    e.method.toLowerCase() +
                    '(' +
                    c(e.urlWithoutQuery)
                  : 'response = requests.request(' +
                    c(e.method) +
                    ', ' +
                    c(e.urlWithoutQuery)
                let A = ''
                if (
                  (e.query && (A += ', params=params'),
                  o && (A += ', cookies=cookies'),
                  e.headers && e.headers.length && (A += ', headers=headers'),
                  e.data || e.uploadFile
                    ? (A += b ? ', json=json_data' : ', data=data')
                    : e.multipartUploads && (A += ', files=files'),
                  e.proxy && (A += ', proxies=proxies'),
                  e.cert && (A += ', cert=cert'),
                  e.insecure
                    ? (A += ', verify=False')
                    : (e.cacert || e.capath) &&
                      (A += ', verify=' + c(e.cacert || e.capath)),
                  e.auth)
                ) {
                  const [t, n] = e.auth
                  A +=
                    ', auth=' +
                    (e.digest ? 'HTTPDigestAuth' : '') +
                    '(' +
                    c(t) +
                    ', ' +
                    c(n) +
                    ')'
                }
                ;(A += ')'), (E += A)
                let S = ''
                if ((r.size > 0 && n.add('os'), n.size)) {
                  for (const e of Array.from(n).sort())
                    S += 'import ' + e + '\n'
                  S += '\n'
                }
                if (
                  ((S += 'import requests\n'),
                  e.auth &&
                    e.digest &&
                    (S += 'from requests.auth import HTTPDigestAuth\n'),
                  (S += '\n'),
                  r.size > 0)
                ) {
                  for (const e of r) S += `${e} = os.getenv('${e}')\n`
                  S += '\n'
                }
                return (
                  a && (S += a + '\n'),
                  o && (S += o + '\n'),
                  v && (S += v + '\n'),
                  m && (S += m + '\n'),
                  u && (S += u + '\n'),
                  b
                    ? (S += b + '\n')
                    : g
                    ? (S += g + '\n')
                    : w && (S += w + '\n'),
                  (S += E),
                  b &&
                    !y &&
                    ((S +=
                      '\n\n# Note: json_data will not be serialized by requests\n# exactly as it was in the original request.\n'),
                    (S += '#' + g),
                    (S += '#' + E.replace(', json=json_data', ', data=data'))),
                  e.output &&
                    '/dev/null' !== e.output &&
                    ('-' === e.output
                      ? (S += '\nprint(response.text)')
                      : (S +=
                          '\n\nwith open(' +
                          c(e.output) +
                          ", 'wb') as f:\n    f.write(response.content)")),
                  e.http2 &&
                    t.push([
                      'http2',
                      'this was an HTTP/2 request but requests only supports HTTP/1.1'
                    ]),
                  e.http3 &&
                    t.push([
                      'http3',
                      'this was an HTTP/3 request but requests only supports HTTP/1.1'
                    ]),
                  S + '\n'
                )
              },
              _ = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [m(n, t), t]
              }
            r()
          } catch (g) {
            r(g)
          }
        })
      },
      7864: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { XE: () => h })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'user'
            ])
            function l (e) {
              return e ? '`' + e + '`' : '``'
            }
            function c (e) {
              return e ? "'" + i(e, { quotes: 'single' }) + "'" : "''"
            }
            function u (e) {
              if (void 0 === e.queryDict) return
              let t = 'params = list(\n'
              return (
                (t += Object.keys(e.queryDict)
                  .map(t => {
                    const n = e.queryDict[t]
                    let r
                    return (
                      (r = Array.isArray(n)
                        ? 'c(' + n.map(c).join(', ') + ')'
                        : c(n)),
                      '  ' + l(t) + ' = ' + r
                    )
                  })
                  .join(',\n')),
                (t += '\n)\n'),
                t
              )
            }
            function d (e) {
              if (!e.multipartUploads) return
              let t = 'files = list(\n'
              return (
                (t += e.multipartUploads
                  .map(e => {
                    let t
                    return (
                      (t =
                        'contentFile' in e
                          ? '  ' +
                            l(e.name) +
                            ' = upload_file(' +
                            c(e.contentFile) +
                            ')'
                          : '  ' + l(e.name) + ' = ' + c(e.content)),
                      t
                    )
                  })
                  .join(',\n')),
                (t += '\n)\n'),
                t
              )
            }
            const p = (e, t = []) => {
                let n, r
                if (
                  (e.cookies &&
                    ((n = 'cookies = c(\n'),
                    (n += e.cookies
                      .map(e => '  ' + c(e[0]) + ' = ' + c(e[1]))
                      .join(',\n')),
                    (n += '\n)\n'),
                    s.mK(e, 'Cookie')),
                  e.headers)
                ) {
                  const t = []
                  r = 'headers = c(\n'
                  for (const [n, r] of e.headers)
                    null !== r && t.push('  ' + l(n) + ' = ' + c(r))
                  ;(r += t.join(',\n')), (r += '\n)\n')
                }
                const i = u(e)
                let o, a, p
                if (e.data)
                  if (e.data.startsWith('@') && !e.isDataRaw)
                    o = "data = upload_file('" + e.data.slice(1) + "')"
                  else {
                    const [t] = s.dD(e.data)
                    ;(a = t && t.length && (t.length > 1 || null !== t[0][1])),
                      a
                        ? ((o = 'data = list(\n'),
                          (o += t
                            .map(e => {
                              const [t, n] = e
                              return (
                                '  ' + l(t) + ' = ' + c(null === n ? '' : n)
                              )
                            })
                            .join(',\n')),
                          (o += '\n)\n'))
                        : (o = 'data = ' + c(e.data) + '\n')
                  }
                else e.multipartUploads && (p = d(e))
                const h = e.queryDict ? e.urlWithoutQuery : e.url
                let f = 'res <- httr::'
                ;['GET', 'HEAD', 'PATCH', 'PUT', 'DELETE', 'POST'].includes(
                  e.method.toUpperCase()
                )
                  ? (f += e.method.toUpperCase() + '(')
                  : (f += 'VERB(' + c(e.method) + ', '),
                  (f += "url = '" + h + "'")
                let m = ''
                if (
                  (e.headers && (m += ', httr::add_headers(.headers=headers)'),
                  e.queryDict && (m += ', query = params'),
                  e.cookies && (m += ', httr::set_cookies(.cookies = cookies)'),
                  e.data
                    ? ((m += ', body = data'), a && (m += ", encode = 'form'"))
                    : e.multipartUploads &&
                      (m += ", body = files, encode = 'multipart'"),
                  e.insecure &&
                    (m += ', config = httr::config(ssl_verifypeer = FALSE)'),
                  e.auth)
                ) {
                  const [t, n] = e.auth
                  m += ', httr::authenticate(' + c(t) + ', ' + c(n) + ')'
                }
                ;(m += ')'), (f += m)
                let _ = ''
                return (
                  (_ += 'require(httr)\n\n'),
                  n && (_ += n + '\n'),
                  r && (_ += r + '\n'),
                  void 0 !== i && (_ += i + '\n'),
                  o ? (_ += o + '\n') : p && (_ += p + '\n'),
                  (_ += f),
                  _ + '\n'
                )
              },
              h = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [p(n, t), t]
              }
            r()
          } catch (f) {
            r(f)
          }
        })
      },
      6762: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { qS: () => h })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
              'url',
              'request',
              'no-digest',
              'http1.0',
              'http1.1',
              'http0.9',
              'no-http0.9',
              'user-agent',
              'cookie',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'referer',
              'form',
              'form-string',
              'get',
              'header',
              'head',
              'no-head',
              'insecure',
              'no-insecure',
              'output',
              'user',
              'proxy',
              'proxy-user',
              'upload-file'
            ])
            function l (e) {
              return ['\n', '\t', '\r', '\b'].some(t => e.includes(t))
                ? '"' + i(e, { quotes: 'double', minimal: !0 }) + '"'
                : "'" + i(e, { quotes: 'single', minimal: !0 }) + "'"
            }
            function c (e, t = 0) {
              let n = ''
              switch (typeof e) {
                case 'string':
                  n += l(e)
                  break
                case 'number':
                  n += e
                  break
                case 'boolean':
                  n += e ? 'true' : 'false'
                  break
                case 'object':
                  if (null === e) n += 'nil'
                  else if (Array.isArray(e))
                    if (0 === e.length) n += '[]'
                    else {
                      n += '[\n'
                      for (const [r, s] of e.entries())
                        (n += ' '.repeat(t + 2) + c(s, t + 2)),
                          (n += r === e.length - 1 ? '\n' : ',\n')
                      n += ' '.repeat(t) + ']'
                    }
                  else if (0 === Object.keys(e).length) n += '{}'
                  else {
                    n += '{\n'
                    const r = Object.entries(e)
                    for (const [e, [s, i]] of r.entries())
                      (n += ' '.repeat(t + 2) + l(s) + ' => ' + c(i, t + 2)),
                        (n += e === r.length - 1 ? '\n' : ',\n')
                    n += ' '.repeat(t) + '}'
                  }
                  break
                default:
                  throw new s.FV(
                    "unexpected object type that shouldn't appear in JSON: " +
                      typeof e
                  )
              }
              return n
            }
            function u (e) {
              if (!e.data) return ['', !1]
              if (!e.isDataRaw && e.data.startsWith('@')) {
                let t = e.data.slice(1)
                if ('-' === t)
                  if (e.stdinFile) t = e.stdinFile
                  else {
                    if (!e.stdin)
                      return (
                        e.isDataBinary,
                        ['req.body = STDIN.read.delete("\\n")\n', !1]
                      )
                    e.data = e.stdin
                  }
                if (!e.stdin)
                  return e.isDataBinary
                    ? [
                        'req.body = File.binread(' + l(t) + ').delete("\\n")\n',
                        !1
                      ]
                    : ['req.body = File.read(' + l(t) + ').delete("\\n")\n', !1]
              }
              const t = s.Pg(e, 'content-type')
              if (t && 'application/json' === t.split(';')[0].trim())
                try {
                  const t = JSON.parse(e.data)
                  if ('object' == typeof t && null !== t) {
                    const n = JSON.stringify(t) === e.data
                    let r = ''
                    return (
                      n ||
                        ((r +=
                          "# The object won't be serialized exactly like this\n"),
                        (r += '# req.body = ' + l(e.data) + '\n')),
                      (r += 'req.body = ' + c(t) + '.to_json\n'),
                      [r, !0]
                    )
                  }
                } catch (e) {}
              const [n, r] = s.dD(e.data)
              return e.isDataBinary ||
                !r ||
                !n ||
                (1 === n.length && null === n[0][1])
                ? ['req.body = ' + l(e.data) + '\n', !1]
                : ['req.set_form_data(' + c(r) + ')\n', !1]
            }
            function d (e) {
              if (!e.multipartUploads) return ''
              const t = e.multipartUploads.map(t => {
                const n = l(t.name),
                  r = 'filename' in t && t.filename && l(t.filename)
                return 'contentFile' in t
                  ? '-' === t.contentFile
                    ? e.stdinFile
                      ? [n, 'File.open(' + l(e.stdinFile) + ')', r]
                      : e.stdin
                      ? [n, l(e.stdin), r]
                      : [n, 'STDIN', r]
                    : t.contentFile === t.filename
                    ? [n, 'File.open(' + l(t.contentFile) + ')']
                    : [n, 'File.open(' + l(t.contentFile) + ')', r]
                  : [n, l(t.content), r]
              })
              let n = 'req.set_form(\n'
              if (0 === t.length) n += '  [],\n'
              else {
                n += '  [\n'
                for (const [e, [r, s, i]] of t.entries())
                  (n += '    [\n'),
                    (n += '      ' + r + ',\n'),
                    (n += '      ' + s),
                    'string' == typeof i
                      ? ((n += ',\n'), (n += '      {filename: ' + i + '}\n'))
                      : (n += '\n'),
                    e === t.length - 1 ? (n += '    ]\n') : (n += '    ],\n')
                n += '  ],\n'
              }
              return (n += "  'multipart/form-data'\n"), (n += ')\n'), n
            }
            const p = (e, t = []) => {
                let n = "require 'net/http'\n",
                  r = ''
                const i = {
                  GET: 'Get',
                  HEAD: 'Head',
                  POST: 'Post',
                  PATCH: 'Patch',
                  PUT: 'Put',
                  PROPPATCH: 'Proppatch',
                  LOCK: 'Lock',
                  UNLOCK: 'Unlock',
                  OPTIONS: 'Options',
                  PROPFIND: 'Propfind',
                  DELETE: 'Delete',
                  MOVE: 'Move',
                  COPY: 'Copy',
                  MKCOL: 'Mkcol',
                  TRACE: 'Trace'
                }
                if (
                  e.queryDict &&
                  Object.keys(e.queryDict).every(e =>
                    /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)
                  ) &&
                  !Object.values(e.queryDict).some(
                    e =>
                      null == e || (Array.isArray(e) && e.some(e => null === e))
                  )
                ) {
                  ;(r += 'uri = URI(' + l(e.urlWithoutQuery) + ')\n'),
                    (r += 'params = {\n')
                  for (const [t, n] of Object.entries(e.queryDict))
                    r += '  :' + t + ' => ' + c(n) + ',\n'
                  ;(r += '}\n'),
                    (r += 'uri.query = URI.encode_www_form(params)\n\n')
                } else r += 'uri = URI(' + l(e.url) + ')\n'
                const o = !(
                  e.headers ||
                  e.auth ||
                  e.multipartUploads ||
                  e.data ||
                  e.uploadFile ||
                  e.insecure ||
                  e.proxy ||
                  e.output
                )
                if (s.e$(i, e.method)) {
                  if ('GET' === e.method && o)
                    return (
                      (r += 'res = Net::HTTP.get_response(uri)\n'), n + '\n' + r
                    )
                  r += 'req = Net::HTTP::' + i[e.method] + '.new(uri)\n'
                } else
                  r +=
                    'req = Net::HTTPGenericRequest.new(' +
                    l(e.method) +
                    ', true, true, uri)\n'
                let a
                if (
                  (e.auth &&
                    !e.digest &&
                    (r +=
                      'req.basic_auth ' +
                      l(e.auth[0]) +
                      ', ' +
                      l(e.auth[1]) +
                      '\n'),
                  e.uploadFile)
                )
                  a =
                    '-' === e.uploadFile || '.' === e.uploadFile
                      ? 'req.body = STDIN.read\n'
                      : 'req.body = File.read(' + l(e.uploadFile) + ')\n'
                else if (e.data) {
                  let t = !1
                  ;([a, t] = u(e)), t && (n += "require 'json'\n")
                } else
                  e.multipartUploads && ((a = d(e)), s.mK(e, 'content-type'))
                const p = s.Pg(e, 'content-type')
                if (
                  ('string' == typeof p &&
                    ((r += 'req.content_type = ' + l(p) + '\n'),
                    s.mK(e, 'content-type')),
                  e.headers && e.headers.length)
                )
                  for (const [t, n] of e.headers)
                    ['accept-encoding', 'content-length'].includes(
                      t.toLowerCase()
                    ) && (r += '# '),
                      (r +=
                        'req[' +
                        l(t) +
                        '] = ' +
                        l(null != n ? n : 'nil') +
                        '\n')
                if (
                  (a && (r += '\n' + a),
                  (r += '\n'),
                  e.proxy &&
                    (r +=
                      'proxy = URI(' +
                      l(
                        e.proxy.includes('://') ? e.proxy : 'http://' + e.proxy
                      ) +
                      ')\n'),
                  (r += 'req_options = {\n'),
                  (r += '  use_ssl: uri.scheme == "https"'),
                  e.insecure
                    ? ((n += "require 'openssl'\n"),
                      (r += ',\n'),
                      (r += '  verify_mode: OpenSSL::SSL::VERIFY_NONE\n'))
                    : (r += '\n'),
                  (r += '}\n'),
                  e.proxy)
                )
                  if (e.proxyAuth) {
                    const [t, n] = e.proxyAuth.split(/:(.*)/s, 2)
                    r +=
                      'res = Net::HTTP.start(uri.hostname, uri.port, proxy.hostname, proxy.port, ' +
                      l(t) +
                      ', ' +
                      l(n || '') +
                      ', req_options) do |http|\n'
                  } else
                    r +=
                      'res = Net::HTTP.new(uri.hostname, uri.port, proxy.hostname, proxy.port, req_options).start do |http|\n'
                else
                  r +=
                    'res = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|\n'
                return (
                  (r += '  http.request(req)\n'),
                  (r += 'end'),
                  e.output &&
                    '/dev/null' !== e.output &&
                    ('-' === e.output
                      ? (r += '\nputs res.body')
                      : (r += '\nFile.write(' + l(e.output) + ', res.body)')),
                  n + '\n' + r + '\n'
                )
              },
              h = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [p(n, t), t]
              }
            r()
          } catch (f) {
            r(f)
          }
        })
      },
      8976: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { c5: () => p })
            var s = n(5156),
              i = n(3571),
              o = e([s])
            s = (o.then ? (await o)() : o)[0]
            const a = new Set([
                'url',
                'request',
                'user-agent',
                'cookie',
                'data',
                'data-raw',
                'data-ascii',
                'data-binary',
                'data-urlencode',
                'json',
                'referer',
                'form',
                'form-string',
                'get',
                'header',
                'head',
                'no-head',
                'user',
                'location',
                'location-trusted',
                'max-redirs'
              ]),
              l = ' '.repeat(4),
              c = (e, t = 1) => l.repeat(t) + e,
              u = e => i(e, { quotes: 'double' }),
              d = (e, t = []) => {
                const n = ['extern crate reqwest;']
                {
                  const t = [
                    { want: 'header', condition: !!e.headers },
                    {
                      want: 'blocking::multipart',
                      condition: !!e.multipartUploads
                    }
                  ]
                    .filter(e => e.condition)
                    .map(e => e.want)
                  t.length > 1
                    ? n.push(`use reqwest::{${t.join(', ')}};`)
                    : t.length && n.push(`use reqwest::${t[0]};`)
                }
                if (
                  (n.push(
                    '',
                    'fn main() -> Result<(), Box<dyn std::error::Error>> {'
                  ),
                  e.headers)
                ) {
                  n.push(c('let mut headers = header::HeaderMap::new();'))
                  const t = { cookie: 'header::COOKIE' }
                  for (const [r, s] of e.headers || []) {
                    const e = t[r.toLowerCase()] || `"${r}"`
                    null !== s &&
                      n.push(
                        c(`headers.insert(${e}, "${u(s)}".parse().unwrap());`)
                      )
                  }
                  n.push('')
                }
                if (e.multipartUploads) {
                  n.push(c('let form = multipart::Form::new()'))
                  const t = e.multipartUploads.map(e =>
                    c(
                      'contentFile' in e
                        ? `.file("${e.name}", "${u(e.contentFile)}")?`
                        : `.text("${e.name}", "${u(e.content)}")`,
                      2
                    )
                  )
                  ;(t[t.length - 1] += ';'), n.push(...t, '')
                }
                if (
                  (e.followRedirects
                    ? void 0 === e.maxRedirects
                      ? n.push(
                          c('let client = reqwest::blocking::Client::new();')
                        )
                      : (n.push(
                          c('let client = reqwest::blocking::Client::builder()')
                        ),
                        '-1' === e.maxRedirects
                          ? n.push(
                              c(
                                '.redirect(reqwest::redirect::Policy::custom(|attempt| { attempt.follow() }))',
                                2
                              )
                            )
                          : n.push(
                              c(
                                '.redirect(reqwest::redirect::Policy::limited(' +
                                  e.maxRedirects +
                                  '))',
                                2
                              )
                            ),
                        n.push(c('.build()', 2)),
                        n.push(c('.unwrap();', 2)))
                    : (n.push(
                        c('let client = reqwest::blocking::Client::builder()')
                      ),
                      n.push(
                        c('.redirect(reqwest::redirect::Policy::none())', 2)
                      ),
                      n.push(c('.build()', 2)),
                      n.push(c('.unwrap();', 2))),
                  ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD'].includes(
                    e.method
                  )
                    ? n.push(
                        c(
                          `let res = client.${e.method.toLowerCase()}("${u(
                            e.url
                          )}")`
                        )
                      )
                    : n.push(
                        c(
                          `let res = client.request("${u(e.method)}", "${u(
                            e.url
                          )}")`
                        )
                      ),
                  e.auth)
                ) {
                  const [t, r] = e.auth
                  n.push(c(`.basic_auth("${u(t)}", Some("${u(r)}"))`, 2))
                }
                return (
                  e.headers && n.push(c('.headers(headers)', 2)),
                  e.multipartUploads && n.push(c('.multipart(form)', 2)),
                  e.data &&
                    ('string' == typeof e.data && -1 !== e.data.indexOf('\n')
                      ? n.push(c('.body(r#"', 2), e.data, '"#', c(')', 2))
                      : n.push(c(`.body("${u(e.data)}")`, 2))),
                  n.push(
                    c('.send()?', 2),
                    c('.text()?;', 2),
                    c('println!("{}", res);'),
                    '',
                    c('Ok(())'),
                    '}'
                  ),
                  n.join('\n') + '\n'
                )
              },
              p = (e, t = []) => {
                const n = s.EH(e, a, t)
                return [d(n, t), t]
              }
            r()
          } catch (e) {
            r(e)
          }
        })
      },
      1356: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, { X: () => d })
            var s = n(5156),
              i = n(8441),
              o = n(3571),
              a = e([s])
            s = (a.then ? (await a)() : a)[0]
            const l = new Set([
              'url',
              'request',
              'data',
              'data-raw',
              'data-ascii',
              'data-binary',
              'data-urlencode',
              'json',
              'user-agent',
              'cookie',
              'referer',
              'header',
              'get',
              'head',
              'no-head',
              'user',
              'insecure',
              'no-insecure'
            ])
            function c (e) {
              if (!e.data) return null
              let t = 'application/json'
              e.data.indexOf("'") > -1 && (e.data = o(e.data))
              const [n] = s.dD(e.data)
              if (!n || !n.length || n.some(e => null === e[1]))
                try {
                  return { mimeType: t, text: JSON.parse(e.data) }
                } catch (e) {}
              for (const [n, r] of e.headers || [])
                'content-type' === n.toLowerCase() && null !== r && (t = r)
              return { mimeType: t, text: e.data }
            }
            const u = (e, t = []) => {
                const n = { version: 2 }
                if (
                  (e.insecure && (n.allowInsecure = !0),
                  (n.requests = {
                    curl_converter: {
                      request: {
                        url: e.urlWithoutQuery.toString(),
                        method: e.method.toUpperCase()
                      }
                    }
                  }),
                  e.data && (n.requests.curl_converter.request.postData = c(e)),
                  e.headers)
                ) {
                  n.requests.curl_converter.request.headers = []
                  for (const [t, r] of e.headers)
                    n.requests.curl_converter.request.headers.push({
                      name: t,
                      value: r
                    })
                }
                if (e.auth) {
                  const [t, r] = e.auth,
                    s = {}
                  t && (s.username = t),
                    (s.password = r),
                    (n.requests.curl_converter.auth = { basic: s })
                }
                let r
                return (
                  e.query &&
                    ((r = e.query.map(e => ({
                      name: e[0],
                      value: e[1] || ''
                    }))),
                    (n.requests.curl_converter.request.queryString = r)),
                  i.stringify(n, 100, 2)
                )
              },
              d = (e, t = []) => {
                const n = s.EH(e, l, t)
                return [u(n, t), t]
              }
            r()
          } catch (p) {
            r(p)
          }
        })
      },
      8292: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, {
              B5: () => l.B5,
              EA: () => p.EA,
              LW: () => _.LW,
              MH: () => u.MH,
              RD: () => s.RD,
              V9: () => o.V9,
              WZ: () => i.WZ,
              X: () => E.X,
              XE: () => y.XE,
              YJ: () => a.YJ,
              ZJ: () => b.ZJ,
              c3: () => m.c3,
              c5: () => v.c5,
              dx: () => f.dx,
              ex: () => h.ex,
              hX: () => d.hX,
              ks: () => c.ks,
              m1: () => o.m1,
              qS: () => w.qS
            })
            var s = n(7594),
              i = n(5883),
              o = n(6810),
              a = n(9503),
              l = n(6733),
              c = n(6586),
              u = n(3651),
              d = n(9344),
              p = n(6520),
              h = n(6502),
              f = n(3326),
              m = n(9963),
              _ = n(128),
              g = n(1416),
              b = n(2505),
              y = n(7864),
              w = n(6762),
              v = n(8976),
              E = n(1356),
              x = n(5156),
              A = e([
                s,
                i,
                o,
                a,
                l,
                c,
                u,
                d,
                p,
                h,
                f,
                m,
                _,
                g,
                b,
                y,
                w,
                v,
                E,
                x
              ])
            ;([
              s,
              i,
              o,
              a,
              l,
              c,
              u,
              d,
              p,
              h,
              f,
              m,
              _,
              g,
              b,
              y,
              w,
              v,
              E,
              x
            ] = A.then ? (await A)() : A),
              r()
          } catch (e) {
            r(e)
          }
        })
      },
      5156: (e, t, n) => {
        'use strict'
        n.a(e, async (e, r) => {
          try {
            n.d(t, {
              EH: () => D,
              FV: () => l,
              L4: () => $,
              Pg: () => j,
              dD: () => R,
              e$: () => a,
              mK: () => H,
              wg: () => F
            })
            var s = n(4044),
              i = n(8681),
              o = e([i])
            function a (e, t) {
              return Object.prototype.hasOwnProperty.call(e, t)
            }
            i = (o.then ? (await o)() : o)[0]
            class l extends Error {}
            function c (e, t, n) {
              return a(e, t) || (e[t] = []), e[t].push(n), e
            }
            function u (e, t, n) {
              return 'form-string' === t
                ? c(e, 'form', { value: n, type: 'string' })
                : 'form' === t
                ? c(e, 'form', { value: n, type: 'form' })
                : c(e, t, n)
            }
            const d = {
                url: { type: 'string' },
                'dns-ipv4-addr': { type: 'string' },
                'dns-ipv6-addr': { type: 'string' },
                'random-file': { type: 'string' },
                'egd-file': { type: 'string' },
                'oauth2-bearer': { type: 'string' },
                'connect-timeout': { type: 'string' },
                'doh-url': { type: 'string' },
                ciphers: { type: 'string' },
                'dns-interface': { type: 'string' },
                'disable-epsv': { type: 'bool', name: 'epsv' },
                'no-disable-epsv': { type: 'bool', name: 'epsv', expand: !1 },
                'disallow-username-in-url': { type: 'bool' },
                'no-disallow-username-in-url': {
                  type: 'bool',
                  name: 'disallow-username-in-url',
                  expand: !1
                },
                epsv: { type: 'bool' },
                'no-epsv': { type: 'bool', name: 'epsv', expand: !1 },
                'dns-servers': { type: 'string' },
                trace: { type: 'string' },
                npn: { type: 'bool' },
                'no-npn': { type: 'bool', name: 'npn', expand: !1 },
                'trace-ascii': { type: 'string' },
                alpn: { type: 'bool' },
                'no-alpn': { type: 'bool', name: 'alpn', expand: !1 },
                'limit-rate': { type: 'string' },
                compressed: { type: 'bool' },
                'no-compressed': {
                  type: 'bool',
                  name: 'compressed',
                  expand: !1
                },
                'tr-encoding': { type: 'bool' },
                'no-tr-encoding': {
                  type: 'bool',
                  name: 'tr-encoding',
                  expand: !1
                },
                digest: { type: 'bool' },
                'no-digest': { type: 'bool', name: 'digest', expand: !1 },
                negotiate: { type: 'bool' },
                'no-negotiate': { type: 'bool', name: 'negotiate', expand: !1 },
                ntlm: { type: 'bool' },
                'no-ntlm': { type: 'bool', name: 'ntlm', expand: !1 },
                'ntlm-wb': { type: 'bool' },
                'no-ntlm-wb': { type: 'bool', name: 'ntlm-wb', expand: !1 },
                basic: { type: 'bool' },
                'no-basic': { type: 'bool', name: 'basic', expand: !1 },
                anyauth: { type: 'bool' },
                'no-anyauth': { type: 'bool', name: 'anyauth', expand: !1 },
                wdebug: { type: 'bool' },
                'no-wdebug': { type: 'bool', name: 'wdebug', expand: !1 },
                'ftp-create-dirs': { type: 'bool' },
                'no-ftp-create-dirs': {
                  type: 'bool',
                  name: 'ftp-create-dirs',
                  expand: !1
                },
                'create-dirs': { type: 'bool' },
                'no-create-dirs': {
                  type: 'bool',
                  name: 'create-dirs',
                  expand: !1
                },
                'create-file-mode': { type: 'string' },
                'max-redirs': { type: 'string' },
                'proxy-ntlm': { type: 'bool' },
                'no-proxy-ntlm': {
                  type: 'bool',
                  name: 'proxy-ntlm',
                  expand: !1
                },
                crlf: { type: 'bool' },
                'no-crlf': { type: 'bool', name: 'crlf', expand: !1 },
                stderr: { type: 'string' },
                'aws-sigv4': { type: 'string' },
                interface: { type: 'string' },
                krb: { type: 'string' },
                krb4: { type: 'string', name: 'krb' },
                'haproxy-protocol': { type: 'bool' },
                'no-haproxy-protocol': {
                  type: 'bool',
                  name: 'haproxy-protocol',
                  expand: !1
                },
                'max-filesize': { type: 'string' },
                'disable-eprt': { type: 'bool', name: 'eprt' },
                'no-disable-eprt': { type: 'bool', name: 'eprt', expand: !1 },
                eprt: { type: 'bool' },
                'no-eprt': { type: 'bool', name: 'eprt', expand: !1 },
                xattr: { type: 'bool' },
                'no-xattr': { type: 'bool', name: 'xattr', expand: !1 },
                'ftp-ssl': { type: 'bool', name: 'ssl' },
                'no-ftp-ssl': { type: 'bool', name: 'ssl', expand: !1 },
                ssl: { type: 'bool' },
                'no-ssl': { type: 'bool', name: 'ssl', expand: !1 },
                'ftp-pasv': { type: 'bool' },
                'no-ftp-pasv': { type: 'bool', name: 'ftp-pasv', expand: !1 },
                socks5: { type: 'string' },
                'tcp-nodelay': { type: 'bool' },
                'no-tcp-nodelay': {
                  type: 'bool',
                  name: 'tcp-nodelay',
                  expand: !1
                },
                'proxy-digest': { type: 'bool' },
                'no-proxy-digest': {
                  type: 'bool',
                  name: 'proxy-digest',
                  expand: !1
                },
                'proxy-basic': { type: 'bool' },
                'no-proxy-basic': {
                  type: 'bool',
                  name: 'proxy-basic',
                  expand: !1
                },
                retry: { type: 'string' },
                'retry-connrefused': { type: 'bool' },
                'no-retry-connrefused': {
                  type: 'bool',
                  name: 'retry-connrefused',
                  expand: !1
                },
                'retry-delay': { type: 'string' },
                'retry-max-time': { type: 'string' },
                'proxy-negotiate': { type: 'bool' },
                'no-proxy-negotiate': {
                  type: 'bool',
                  name: 'proxy-negotiate',
                  expand: !1
                },
                'form-escape': { type: 'bool' },
                'no-form-escape': {
                  type: 'bool',
                  name: 'form-escape',
                  expand: !1
                },
                'ftp-account': { type: 'string' },
                'proxy-anyauth': { type: 'bool' },
                'no-proxy-anyauth': {
                  type: 'bool',
                  name: 'proxy-anyauth',
                  expand: !1
                },
                'trace-time': { type: 'bool' },
                'no-trace-time': {
                  type: 'bool',
                  name: 'trace-time',
                  expand: !1
                },
                'ignore-content-length': { type: 'bool' },
                'no-ignore-content-length': {
                  type: 'bool',
                  name: 'ignore-content-length',
                  expand: !1
                },
                'ftp-skip-pasv-ip': { type: 'bool' },
                'no-ftp-skip-pasv-ip': {
                  type: 'bool',
                  name: 'ftp-skip-pasv-ip',
                  expand: !1
                },
                'ftp-method': { type: 'string' },
                'local-port': { type: 'string' },
                socks4: { type: 'string' },
                socks4a: { type: 'string' },
                'ftp-alternative-to-user': { type: 'string' },
                'ftp-ssl-reqd': { type: 'bool', name: 'ssl-reqd' },
                'no-ftp-ssl-reqd': {
                  type: 'bool',
                  name: 'ssl-reqd',
                  expand: !1
                },
                'ssl-reqd': { type: 'bool' },
                'no-ssl-reqd': { type: 'bool', name: 'ssl-reqd', expand: !1 },
                sessionid: { type: 'bool' },
                'no-sessionid': { type: 'bool', name: 'sessionid', expand: !1 },
                'ftp-ssl-control': { type: 'bool' },
                'no-ftp-ssl-control': {
                  type: 'bool',
                  name: 'ftp-ssl-control',
                  expand: !1
                },
                'ftp-ssl-ccc': { type: 'bool' },
                'no-ftp-ssl-ccc': {
                  type: 'bool',
                  name: 'ftp-ssl-ccc',
                  expand: !1
                },
                'ftp-ssl-ccc-mode': { type: 'string' },
                libcurl: { type: 'string' },
                raw: { type: 'bool' },
                'no-raw': { type: 'bool', name: 'raw', expand: !1 },
                post301: { type: 'bool' },
                'no-post301': { type: 'bool', name: 'post301', expand: !1 },
                keepalive: { type: 'bool' },
                'no-keepalive': { type: 'bool', name: 'keepalive', expand: !1 },
                'socks5-hostname': { type: 'string' },
                'keepalive-time': { type: 'string' },
                post302: { type: 'bool' },
                'no-post302': { type: 'bool', name: 'post302', expand: !1 },
                noproxy: { type: 'string' },
                'socks5-gssapi-nec': { type: 'bool' },
                'no-socks5-gssapi-nec': {
                  type: 'bool',
                  name: 'socks5-gssapi-nec',
                  expand: !1
                },
                'proxy1.0': { type: 'string' },
                'tftp-blksize': { type: 'string' },
                'mail-from': { type: 'string' },
                'mail-rcpt': { type: 'string' },
                'ftp-pret': { type: 'bool' },
                'no-ftp-pret': { type: 'bool', name: 'ftp-pret', expand: !1 },
                proto: { type: 'string' },
                'proto-redir': { type: 'string' },
                resolve: { type: 'string' },
                delegation: { type: 'string' },
                'mail-auth': { type: 'string' },
                post303: { type: 'bool' },
                'no-post303': { type: 'bool', name: 'post303', expand: !1 },
                metalink: { type: 'bool' },
                'no-metalink': { type: 'bool', name: 'metalink', expand: !1 },
                'sasl-authzid': { type: 'string' },
                'sasl-ir': { type: 'bool' },
                'no-sasl-ir': { type: 'bool', name: 'sasl-ir', expand: !1 },
                'test-event': { type: 'bool' },
                'no-test-event': {
                  type: 'bool',
                  name: 'test-event',
                  expand: !1
                },
                'unix-socket': { type: 'string' },
                'path-as-is': { type: 'bool' },
                'no-path-as-is': {
                  type: 'bool',
                  name: 'path-as-is',
                  expand: !1
                },
                'socks5-gssapi-service': {
                  type: 'string',
                  name: 'proxy-service-name'
                },
                'proxy-service-name': { type: 'string' },
                'service-name': { type: 'string' },
                'proto-default': { type: 'string' },
                'expect100-timeout': { type: 'string' },
                'tftp-no-options': { type: 'bool' },
                'no-tftp-no-options': {
                  type: 'bool',
                  name: 'tftp-no-options',
                  expand: !1
                },
                'connect-to': { type: 'string' },
                'abstract-unix-socket': { type: 'string' },
                'tls-max': { type: 'string' },
                'suppress-connect-headers': { type: 'bool' },
                'no-suppress-connect-headers': {
                  type: 'bool',
                  name: 'suppress-connect-headers',
                  expand: !1
                },
                'compressed-ssh': { type: 'bool' },
                'no-compressed-ssh': {
                  type: 'bool',
                  name: 'compressed-ssh',
                  expand: !1
                },
                'happy-eyeballs-timeout-ms': { type: 'string' },
                'retry-all-errors': { type: 'bool' },
                'no-retry-all-errors': {
                  type: 'bool',
                  name: 'retry-all-errors',
                  expand: !1
                },
                'http1.0': { type: 'bool' },
                'http1.1': { type: 'bool' },
                http2: { type: 'bool' },
                'http2-prior-knowledge': { type: 'bool' },
                http3: { type: 'bool' },
                'http0.9': { type: 'bool' },
                'no-http0.9': { type: 'bool', name: 'http0.9', expand: !1 },
                tlsv1: { type: 'bool' },
                'tlsv1.0': { type: 'bool' },
                'tlsv1.1': { type: 'bool' },
                'tlsv1.2': { type: 'bool' },
                'tlsv1.3': { type: 'bool' },
                'tls13-ciphers': { type: 'string' },
                'proxy-tls13-ciphers': { type: 'string' },
                sslv2: { type: 'bool' },
                sslv3: { type: 'bool' },
                ipv4: { type: 'bool' },
                ipv6: { type: 'bool' },
                append: { type: 'bool' },
                'no-append': { type: 'bool', name: 'append', expand: !1 },
                'user-agent': { type: 'string' },
                cookie: { type: 'string' },
                'alt-svc': { type: 'string' },
                hsts: { type: 'string' },
                'use-ascii': { type: 'bool' },
                'no-use-ascii': { type: 'bool', name: 'use-ascii', expand: !1 },
                'cookie-jar': { type: 'string' },
                'continue-at': { type: 'string' },
                data: { type: 'string' },
                'data-raw': { type: 'string' },
                'data-ascii': { type: 'string' },
                'data-binary': { type: 'string' },
                'data-urlencode': { type: 'string' },
                json: { type: 'string' },
                'dump-header': { type: 'string' },
                referer: { type: 'string' },
                cert: { type: 'string' },
                cacert: { type: 'string' },
                'cert-type': { type: 'string' },
                key: { type: 'string' },
                'key-type': { type: 'string' },
                pass: { type: 'string' },
                engine: { type: 'string' },
                capath: { type: 'string' },
                pubkey: { type: 'string' },
                hostpubmd5: { type: 'string' },
                hostpubsha256: { type: 'string' },
                crlfile: { type: 'string' },
                tlsuser: { type: 'string' },
                tlspassword: { type: 'string' },
                tlsauthtype: { type: 'string' },
                'ssl-allow-beast': { type: 'bool' },
                'no-ssl-allow-beast': {
                  type: 'bool',
                  name: 'ssl-allow-beast',
                  expand: !1
                },
                'ssl-auto-client-cert': { type: 'bool' },
                'no-ssl-auto-client-cert': {
                  type: 'bool',
                  name: 'ssl-auto-client-cert',
                  expand: !1
                },
                'proxy-ssl-auto-client-cert': { type: 'bool' },
                'no-proxy-ssl-auto-client-cert': {
                  type: 'bool',
                  name: 'proxy-ssl-auto-client-cert',
                  expand: !1
                },
                pinnedpubkey: { type: 'string' },
                'proxy-pinnedpubkey': { type: 'string' },
                'cert-status': { type: 'bool' },
                'no-cert-status': {
                  type: 'bool',
                  name: 'cert-status',
                  expand: !1
                },
                'doh-cert-status': { type: 'bool' },
                'no-doh-cert-status': {
                  type: 'bool',
                  name: 'doh-cert-status',
                  expand: !1
                },
                'false-start': { type: 'bool' },
                'no-false-start': {
                  type: 'bool',
                  name: 'false-start',
                  expand: !1
                },
                'ssl-no-revoke': { type: 'bool' },
                'no-ssl-no-revoke': {
                  type: 'bool',
                  name: 'ssl-no-revoke',
                  expand: !1
                },
                'ssl-revoke-best-effort': { type: 'bool' },
                'no-ssl-revoke-best-effort': {
                  type: 'bool',
                  name: 'ssl-revoke-best-effort',
                  expand: !1
                },
                'tcp-fastopen': { type: 'bool' },
                'no-tcp-fastopen': {
                  type: 'bool',
                  name: 'tcp-fastopen',
                  expand: !1
                },
                'proxy-tlsuser': { type: 'string' },
                'proxy-tlspassword': { type: 'string' },
                'proxy-tlsauthtype': { type: 'string' },
                'proxy-cert': { type: 'string' },
                'proxy-cert-type': { type: 'string' },
                'proxy-key': { type: 'string' },
                'proxy-key-type': { type: 'string' },
                'proxy-pass': { type: 'string' },
                'proxy-ciphers': { type: 'string' },
                'proxy-crlfile': { type: 'string' },
                'proxy-ssl-allow-beast': { type: 'bool' },
                'no-proxy-ssl-allow-beast': {
                  type: 'bool',
                  name: 'proxy-ssl-allow-beast',
                  expand: !1
                },
                'login-options': { type: 'string' },
                'proxy-cacert': { type: 'string' },
                'proxy-capath': { type: 'string' },
                'proxy-insecure': { type: 'bool' },
                'no-proxy-insecure': {
                  type: 'bool',
                  name: 'proxy-insecure',
                  expand: !1
                },
                'proxy-tlsv1': { type: 'bool' },
                'socks5-basic': { type: 'bool' },
                'no-socks5-basic': {
                  type: 'bool',
                  name: 'socks5-basic',
                  expand: !1
                },
                'socks5-gssapi': { type: 'bool' },
                'no-socks5-gssapi': {
                  type: 'bool',
                  name: 'socks5-gssapi',
                  expand: !1
                },
                'etag-save': { type: 'string' },
                'etag-compare': { type: 'string' },
                curves: { type: 'string' },
                fail: { type: 'bool' },
                'no-fail': { type: 'bool', name: 'fail', expand: !1 },
                'fail-early': { type: 'bool' },
                'no-fail-early': {
                  type: 'bool',
                  name: 'fail-early',
                  expand: !1
                },
                'styled-output': { type: 'bool' },
                'no-styled-output': {
                  type: 'bool',
                  name: 'styled-output',
                  expand: !1
                },
                'mail-rcpt-allowfails': { type: 'bool' },
                'no-mail-rcpt-allowfails': {
                  type: 'bool',
                  name: 'mail-rcpt-allowfails',
                  expand: !1
                },
                'fail-with-body': { type: 'bool' },
                'no-fail-with-body': {
                  type: 'bool',
                  name: 'fail-with-body',
                  expand: !1
                },
                form: { type: 'string' },
                'form-string': { type: 'string' },
                globoff: { type: 'bool' },
                'no-globoff': { type: 'bool', name: 'globoff', expand: !1 },
                get: { type: 'bool' },
                'request-target': { type: 'string' },
                help: { type: 'bool' },
                'no-help': { type: 'bool', name: 'help', expand: !1 },
                header: { type: 'string' },
                'proxy-header': { type: 'string' },
                include: { type: 'bool' },
                'no-include': { type: 'bool', name: 'include', expand: !1 },
                head: { type: 'bool' },
                'no-head': { type: 'bool', name: 'head', expand: !1 },
                'junk-session-cookies': { type: 'bool' },
                'no-junk-session-cookies': {
                  type: 'bool',
                  name: 'junk-session-cookies',
                  expand: !1
                },
                'remote-header-name': { type: 'bool' },
                'no-remote-header-name': {
                  type: 'bool',
                  name: 'remote-header-name',
                  expand: !1
                },
                insecure: { type: 'bool' },
                'no-insecure': { type: 'bool', name: 'insecure', expand: !1 },
                'doh-insecure': { type: 'bool' },
                'no-doh-insecure': {
                  type: 'bool',
                  name: 'doh-insecure',
                  expand: !1
                },
                config: { type: 'string' },
                'list-only': { type: 'bool' },
                'no-list-only': { type: 'bool', name: 'list-only', expand: !1 },
                location: { type: 'bool' },
                'no-location': { type: 'bool', name: 'location', expand: !1 },
                'location-trusted': { type: 'bool' },
                'no-location-trusted': {
                  type: 'bool',
                  name: 'location-trusted',
                  expand: !1
                },
                'max-time': { type: 'string' },
                manual: { type: 'bool' },
                'no-manual': { type: 'bool', name: 'manual', expand: !1 },
                netrc: { type: 'bool' },
                'no-netrc': { type: 'bool', name: 'netrc', expand: !1 },
                'netrc-optional': { type: 'bool' },
                'no-netrc-optional': {
                  type: 'bool',
                  name: 'netrc-optional',
                  expand: !1
                },
                'netrc-file': { type: 'string' },
                buffer: { type: 'bool' },
                'no-buffer': { type: 'bool', name: 'buffer', expand: !1 },
                output: { type: 'string' },
                'remote-name': { type: 'bool' },
                'remote-name-all': { type: 'bool' },
                'no-remote-name-all': {
                  type: 'bool',
                  name: 'remote-name-all',
                  expand: !1
                },
                'output-dir': { type: 'string' },
                proxytunnel: { type: 'bool' },
                'no-proxytunnel': {
                  type: 'bool',
                  name: 'proxytunnel',
                  expand: !1
                },
                'ftp-port': { type: 'string' },
                disable: { type: 'bool' },
                'no-disable': { type: 'bool', name: 'disable', expand: !1 },
                quote: { type: 'string' },
                range: { type: 'string' },
                'remote-time': { type: 'bool' },
                'no-remote-time': {
                  type: 'bool',
                  name: 'remote-time',
                  expand: !1
                },
                silent: { type: 'bool' },
                'no-silent': { type: 'bool', name: 'silent', expand: !1 },
                'show-error': { type: 'bool' },
                'no-show-error': {
                  type: 'bool',
                  name: 'show-error',
                  expand: !1
                },
                'telnet-option': { type: 'string' },
                'upload-file': { type: 'string' },
                user: { type: 'string' },
                'proxy-user': { type: 'string' },
                verbose: { type: 'bool' },
                'no-verbose': { type: 'bool', name: 'verbose', expand: !1 },
                version: { type: 'bool' },
                'no-version': { type: 'bool', name: 'version', expand: !1 },
                'write-out': { type: 'string' },
                proxy: { type: 'string' },
                preproxy: { type: 'string' },
                request: { type: 'string' },
                'speed-limit': { type: 'string' },
                'speed-time': { type: 'string' },
                'time-cond': { type: 'string' },
                parallel: { type: 'bool' },
                'no-parallel': { type: 'bool', name: 'parallel', expand: !1 },
                'parallel-max': { type: 'string' },
                'parallel-immediate': { type: 'bool' },
                'no-parallel-immediate': {
                  type: 'bool',
                  name: 'parallel-immediate',
                  expand: !1
                },
                'progress-bar': { type: 'bool' },
                'no-progress-bar': {
                  type: 'bool',
                  name: 'progress-bar',
                  expand: !1
                },
                'progress-meter': { type: 'bool' },
                'no-progress-meter': {
                  type: 'bool',
                  name: 'progress-meter',
                  expand: !1
                },
                next: { type: 'bool' }
              },
              p = {
                0: 'http1.0',
                1: 'tlsv1',
                2: 'sslv2',
                3: 'sslv3',
                4: 'ipv4',
                6: 'ipv6',
                a: 'append',
                A: 'user-agent',
                b: 'cookie',
                B: 'use-ascii',
                c: 'cookie-jar',
                C: 'continue-at',
                d: 'data',
                D: 'dump-header',
                e: 'referer',
                E: 'cert',
                f: 'fail',
                F: 'form',
                g: 'globoff',
                G: 'get',
                h: 'help',
                H: 'header',
                i: 'include',
                I: 'head',
                j: 'junk-session-cookies',
                J: 'remote-header-name',
                k: 'insecure',
                K: 'config',
                l: 'list-only',
                L: 'location',
                m: 'max-time',
                M: 'manual',
                n: 'netrc',
                N: 'no-buffer',
                o: 'output',
                O: 'remote-name',
                p: 'proxytunnel',
                P: 'ftp-port',
                q: 'disable',
                Q: 'quote',
                r: 'range',
                R: 'remote-time',
                s: 'silent',
                S: 'show-error',
                t: 'telnet-option',
                T: 'upload-file',
                u: 'user',
                U: 'proxy-user',
                v: 'verbose',
                V: 'version',
                w: 'write-out',
                x: 'proxy',
                X: 'request',
                Y: 'speed-limit',
                y: 'speed-time',
                z: 'time-cond',
                Z: 'parallel',
                '#': 'progress-bar',
                ':': 'next'
              },
              h = {
                'ftp-ascii': {
                  type: 'bool',
                  name: 'use-ascii',
                  removed: '7.10.7'
                },
                port: { type: 'string', removed: '7.3' },
                upload: { type: 'bool', removed: '7.7' },
                continue: { type: 'bool', removed: '7.9' },
                '3p-url': { type: 'string', removed: '7.16.0' },
                '3p-user': { type: 'string', removed: '7.16.0' },
                '3p-quote': { type: 'string', removed: '7.16.0' },
                'http2.0': { type: 'bool', name: 'http2', removed: '7.36.0' },
                'no-http2.0': {
                  type: 'bool',
                  name: 'http2',
                  removed: '7.36.0'
                },
                'telnet-options': {
                  type: 'string',
                  name: 'telnet-option',
                  removed: '7.49.0'
                },
                'http-request': {
                  type: 'string',
                  name: 'request',
                  removed: '7.49.0'
                },
                socks: { type: 'string', name: 'socks5', removed: '7.49.0' },
                'capath ': {
                  type: 'string',
                  name: 'capath',
                  removed: '7.49.0'
                },
                ftpport: {
                  type: 'string',
                  name: 'ftp-port',
                  removed: '7.49.0'
                },
                environment: { type: 'bool', removed: '7.54.1' },
                'no-tlsv1': { type: 'bool', name: 'tlsv1', removed: '7.54.1' },
                'no-tlsv1.2': {
                  type: 'bool',
                  name: 'tlsv1.2',
                  removed: '7.54.1'
                },
                'no-http2-prior-knowledge': {
                  type: 'bool',
                  name: 'http2-prior-knowledge',
                  removed: '7.54.1'
                },
                'no-ipv6': { type: 'bool', name: 'ipv6', removed: '7.54.1' },
                'no-ipv4': { type: 'bool', name: 'ipv4', removed: '7.54.1' },
                'no-sslv2': { type: 'bool', name: 'sslv2', removed: '7.54.1' },
                'no-tlsv1.0': {
                  type: 'bool',
                  name: 'tlsv1.0',
                  removed: '7.54.1'
                },
                'no-tlsv1.1': {
                  type: 'bool',
                  name: 'tlsv1.1',
                  removed: '7.54.1'
                },
                'no-remote-name': {
                  type: 'bool',
                  name: 'remote-name',
                  removed: '7.54.1'
                },
                'no-sslv3': { type: 'bool', name: 'sslv3', removed: '7.54.1' },
                'no-get': { type: 'bool', name: 'get', removed: '7.54.1' },
                'no-http1.0': {
                  type: 'bool',
                  name: 'http1.0',
                  removed: '7.54.1'
                },
                'no-next': { type: 'bool', name: 'next', removed: '7.54.1' },
                'no-tlsv1.3': {
                  type: 'bool',
                  name: 'tlsv1.3',
                  removed: '7.54.1'
                },
                'no-environment': {
                  type: 'bool',
                  name: 'environment',
                  removed: '7.54.1'
                },
                'no-http1.1': {
                  type: 'bool',
                  name: 'http1.1',
                  removed: '7.54.1'
                },
                'no-proxy-tlsv1': {
                  type: 'bool',
                  name: 'proxy-tlsv1',
                  removed: '7.54.1'
                },
                'no-http2': { type: 'bool', name: 'http2', removed: '7.54.1' }
              }
            for (const [K, Z] of Object.entries(h)) a(Z, 'name') || (Z.name = K)
            const f = h,
              m = {
                p:
                  'used to be short for --port <port> (a since-deleted flag) until curl 7.3',
                t:
                  'used to be short for --upload (a since-deleted boolean flag) until curl 7.7',
                c:
                  'used to be short for --continue (a since-deleted boolean flag) until curl 7.9',
                '@': 'used to be short for --create-dirs until curl 7.10.7',
                Z: 'used to be short for --max-redirs <num> until curl 7.10.7',
                9: 'used to be short for --crlf until curl 7.10.8',
                8: 'used to be short for --stderr <file> until curl 7.10.8',
                7: 'used to be short for --interface <name> until curl 7.10.8',
                6: 'used to be short for --krb <level> (which itself used to be --krb4 <level>) until curl 7.10.8',
                5: 'used to be another way to specify the url until curl 7.10.8',
                '*':
                  'used to be another way to specify the url until curl 7.49.0',
                '~': 'used to be short for --xattr until curl 7.49.0'
              },
              _ = new Set([
                'help',
                'no-help',
                'silent',
                'no-silent',
                'verbose',
                'no-verbose',
                'version',
                'no-version',
                'progress-bar',
                'no-progress-bar',
                'progress-meter',
                'no-progress-meter',
                'show-error',
                'no-show-error'
              ]),
              g = new Set([
                'url',
                'header',
                'proxy-header',
                'form',
                'data',
                'data-binary',
                'data-ascii',
                'data-raw',
                'data-urlencode',
                'json',
                'mail-rcpt',
                'resolve',
                'connect-to',
                'cookie',
                'quote',
                'telnet-option'
              ]),
              b = {}
            for (const [G, X] of Object.entries(d)) a(X, 'name') || (X.name = G)
            const y = d
            for (const [Q, V] of Object.entries(d)) {
              const Y = !a(V, 'expand') || V.expand
              if ((delete V.expand, Y))
                for (let J = 1; J < Q.length; J++) c(b, Q.slice(0, J), V)
            }
            for (const [ee, te] of Object.entries(b))
              a(y, ee) ||
                (1 === te.length
                  ? (y[ee] = te[0])
                  : te.length > 1 && (y[ee] = null))
            for (const [ne, re] of Object.entries(f))
              a(y, ne) ? y[ne] : (y[ne] = re)
            function w (e) {
              return (
                !!e.startsWith('no-disable-') ||
                (!e.startsWith('disable-') && !e.startsWith('no-'))
              )
            }
            const v = e =>
                e.replace(/\\./gs, e =>
                  '\n' === e.charAt(1) ? '' : e.charAt(1)
                ),
              E = e => e.slice(2, -1),
              x = e =>
                e
                  .slice(1, -1)
                  .replace(/\\(\n|')/gs, e =>
                    '\n' === e.charAt(1) ? '' : e.charAt(1)
                  ),
              A = e =>
                e
                  .slice(1, -1)
                  .replace(/\\(\n|\\|")/gs, e =>
                    '\n' === e.charAt(1) ? '' : e.charAt(1)
                  ),
              S = e => A(e.slice(1)),
              C = e =>
                e
                  .slice(2, -1)
                  .replace(
                    /\\(\\|a|b|e|E|f|n|r|t|v|'|"|\?|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{1,4}|U[0-9A-Fa-f]{1,8}|c.)/gs,
                    e => {
                      switch (e.charAt(1)) {
                        case '\\':
                          return '\\'
                        case 'a':
                          return ''
                        case 'b':
                          return '\b'
                        case 'e':
                        case 'E':
                          return ''
                        case 'f':
                          return '\f'
                        case 'n':
                          return '\n'
                        case 'r':
                          return '\r'
                        case 't':
                          return '\t'
                        case 'v':
                          return '\v'
                        case "'":
                          return "'"
                        case '"':
                          return '"'
                        case '?':
                          return '?'
                        case 'c':
                          if (e.codePointAt(2) > 127)
                            throw new l(
                              'non-ASCII control character in ANSI-C quoted string: "\\u{' +
                                e.codePointAt(2).toString(16) +
                                '}"'
                            )
                          return '?' === e[2]
                            ? ''
                            : String.fromCodePoint(
                                31 & e[2].toUpperCase().codePointAt(0)
                              )
                        case 'x':
                        case 'u':
                        case 'U':
                          return String.fromCodePoint(parseInt(e.slice(2), 16))
                        case '0':
                        case '1':
                        case '2':
                        case '3':
                        case '4':
                        case '5':
                        case '6':
                        case '7':
                          return String.fromCodePoint(
                            parseInt(e.slice(1), 8) % 256
                          )
                        default:
                          throw new l(
                            'unhandled character in ANSI-C escape code: ' +
                              JSON.stringify(e)
                          )
                      }
                    }
                  ),
              T = (e, t) => {
                const n = e.split('\n')[t.startPosition.row],
                  r = t.endPosition.row === t.startPosition.row,
                  s = r ? t.endPosition.column : n.length
                return (
                  `${n}\n` +
                  ' '.repeat(t.startPosition.column) +
                  '^'.repeat(s - t.startPosition.column) +
                  (r ? '' : '^')
                )
              },
              N = (e, t) => {
                const n = e.split('\n')[t.endPosition.row],
                  r =
                    t.endPosition.row === t.startPosition.row
                      ? t.startPosition.column
                      : 0
                return (
                  `${n}\n` + ' '.repeat(r) + '^'.repeat(t.endPosition.column)
                )
              }
            function O (e, t) {
              switch (e.type) {
                case 'word':
                case 'simple_expansion':
                  return v(e.text)
                case 'string':
                  return A(e.text)
                case 'raw_string':
                  return x(e.text)
                case 'ansii_c_string':
                  return C(e.text)
                case 'expansion':
                  return E(e.text)
                case 'string_expansion':
                  return S(e.text)
                case 'concatenation':
                  return e.children.every(e => 'word' === e.type)
                    ? e.text
                    : e.children.map(e => O(e, t)).join('')
                default:
                  throw new l(
                    'unexpected argument type ' +
                      JSON.stringify(e.type) +
                      '. Must be one of "word", "string", "raw_string", "ansii_c_string", "expansion", "simple_expansion", "string_expansion" or "concatenation"\n' +
                      T(t, e)
                  )
              }
            }
            const k = (e, t = []) => {
                const n = i.Z.parse(e)
                if ('program' !== n.rootNode.type)
                  throw new l(
                    'expected a "program" top-level AST node, got ' +
                      n.rootNode.type +
                      ' instead'
                  )
                if (n.rootNode.childCount < 1 || !n.rootNode.children)
                  throw new l('empty "program" node')
                let r, s, o, a
                for (const i of n.rootNode.children)
                  if ('comment' !== i.type) {
                    if ('command' === i.type) {
                      ;(r = i), (s = i)
                      break
                    }
                    if ('redirected_statement' === i.type) {
                      if (!i.childCount)
                        throw new l('got empty "redirected_statement" AST node')
                      let n
                      if (
                        (([r, ...n] = i.namedChildren),
                        (s = i),
                        'command' !== r.type)
                      )
                        throw new l(
                          'got "redirected_statement" AST node whose first child is not a "command", got ' +
                            r.type +
                            ' instead\n' +
                            T(e, r)
                        )
                      if (i.childCount < 2)
                        throw new l(
                          'got "redirected_statement" AST node with only one child - no redirect'
                        )
                      n.length > 1 &&
                        t.push([
                          'multiple-redirects',
                          'found ' +
                            n.length +
                            ' redirect nodes. Only the first one will be used:\n' +
                            T(e, n[1])
                        ])
                      const c = n[0]
                      if ('file_redirect' === c.type)
                        a = O(c.namedChildren[0], e)
                      else if ('heredoc_redirect' === c.type) {
                        if (c.namedChildCount < 1)
                          throw new l(
                            'got "redirected_statement" AST node with heredoc but no heredoc start'
                          )
                        const e = c.namedChildren[0].text,
                          t = i.nextNamedSibling
                        if (((s = t), !t))
                          throw new l(
                            'got "redirected_statement" AST node with no heredoc body'
                          )
                        if ('heredoc_body' !== t.type)
                          throw new l(
                            'got "redirected_statement" AST node with heredoc but no heredoc body, got ' +
                              t.type +
                              ' instead'
                          )
                        ;(o = e.length ? t.text.slice(0, -e.length) : t.text),
                          (o = o.replace(/\n/g, ''))
                      } else {
                        if ('herestring_redirect' !== c.type)
                          throw new l(
                            'got "redirected_statement" AST node whose second child is not one of "file_redirect", "heredoc_redirect" or "herestring_redirect", got ' +
                              r.type +
                              ' instead'
                          )
                        if (c.namedChildCount < 1 || !c.firstNamedChild)
                          throw new l(
                            'got "redirected_statement" AST node with empty herestring'
                          )
                        o = c.firstNamedChild.text
                      }
                      break
                    }
                    throw 'ERROR' === i.type
                      ? new l(
                          `Bash parsing error on line ${i.startPosition.row +
                            1}:\n` + T(e, i)
                        )
                      : new l(
                          'expected a "command" or "redirected_statement" AST node, instead got ' +
                            n.rootNode.children[0].type +
                            '\n' +
                            T(e, n.rootNode.children[0])
                        )
                  }
                if (s && s.nextNamedSibling) {
                  t.push([
                    'extra-commands',
                    `curl command ends on line ${s.endPosition.row +
                      1}, everything after this is ignored:\n` + N(e, s)
                  ])
                  const n = e.split('\n'),
                    r = n[s.endPosition.row],
                    i = r.match(/\\\s+$/)
                  i &&
                    n.length > s.endPosition.row + 1 &&
                    void 0 !== i.index &&
                    t.push([
                      'unescaped-newline',
                      "The trailling '\\' on line " +
                        (s.endPosition.row + 1) +
                        " is followed by whitespace, so it won't escape the newline after it:\n" +
                        r +
                        '\n' +
                        ' '.repeat(i.index) +
                        '^'.repeat(i[0].length)
                    ])
                }
                if (!r)
                  throw new l(
                    'expected a "command" or "redirected_statement" AST node, only found "comment" nodes'
                  )
                for (const r of n.rootNode.children)
                  'ERROR' === r.type &&
                    t.push([
                      'bash',
                      `Bash parsing error on line ${r.startPosition.row +
                        1}:\n` + T(e, r)
                    ])
                if (r.childCount < 1) throw new l('empty "command" node')
                const [c, ...u] = r.namedChildren
                if ('command_name' !== c.type)
                  throw new l(
                    'expected a "command_name" AST node, found ' +
                      c.type +
                      ' instead\n' +
                      T(e, c)
                  )
                if (c.childCount < 1)
                  throw new l('found empty "command_name" AST node\n' + T(e, c))
                return {
                  cmdName: O(c.firstChild, e),
                  args: u.map(t => O(t, e)),
                  stdin: o,
                  stdinFile: a
                }
              },
              I = (e, t, n, r) => {
                n.has(t) ||
                  _.has(t) ||
                  r.push([t, '--' + e + ' is not a supported option'])
              },
              L = (e, t, n, r) => {
                n.has(t) ||
                  _.has(t) ||
                  r.push([t, '-' + e + ' is not a supported option'])
              },
              P = (e, t, n, r, s = []) => {
                const i = {}
                for (let o = 0, c = !0; o < e.length; o++) {
                  let d = e[o],
                    p = d
                  if (c && d.startsWith('-'))
                    if ('--' === d) c = !1
                    else if (d.startsWith('--')) {
                      const n = d.slice(2),
                        a = t[n]
                      if (null === a)
                        throw new l('option ' + d + ': is ambiguous')
                      if (void 0 === a)
                        throw new l('option ' + d + ': is unknown')
                      if ('string' === a.type) {
                        if (!(o + 1 < e.length))
                          throw new l('option ' + d + ': requires parameter')
                        o++, u(i, a.name, e[o])
                      } else i[a.name] = w(d.slice(2))
                      r && I(n, a.name, r, s)
                    } else {
                      if (1 === d.length) {
                        if (!a(n, ''))
                          throw new l('option ' + p + ': is unknown')
                        ;(d = ['-', '']), (p = '-')
                      }
                      for (let c = 1; c < d.length; c++) {
                        if (!a(n, d[c])) {
                          if (a(m, d[c]))
                            throw new l('option ' + p + ': ' + m[d[c]])
                          throw new l('option ' + p + ': is unknown')
                        }
                        const h = d[c],
                          f = n[h],
                          _ = t[f]
                        if (null === _)
                          throw new l('ambiguous short option -' + d[c])
                        if ('string' === _.type) {
                          let t
                          if (c + 1 < d.length)
                            (t = d.slice(c + 1)), (c = d.length)
                          else {
                            if (!(o + 1 < e.length))
                              throw new l(
                                'option ' + p + ': requires parameter'
                              )
                            o++, (t = e[o])
                          }
                          u(i, _.name, t)
                        } else i[_.name] = w(f)
                        r && h && L(h, _.name, r, s)
                      }
                    }
                  else u(i, 'url', d)
                }
                for (const [e, t] of Object.entries(i))
                  Array.isArray(t) && !g.has(e) && (i[e] = t[t.length - 1])
                return i
              }
            function R (e) {
              if (!e) return [null, null]
              const t = []
              for (const n of e.split('&')) {
                const [e, r] = n.split(/=(.*)/s, 2),
                  s = void 0 === r ? null : r
                let i, o
                try {
                  ;(i = decodeURIComponent(e.replace(/\+/g, ' '))),
                    (o =
                      null === s
                        ? null
                        : decodeURIComponent(s.replace(/\+/g, ' ')))
                } catch (e) {
                  if (e instanceof URIError) return [null, null]
                  throw e
                }
                try {
                  const t = e =>
                      '%' +
                      e
                        .charCodeAt(0)
                        .toString(16)
                        .padStart(2, '0')
                        .toUpperCase(),
                    n = e => encodeURIComponent(e).replace(/[()*!']/g, t),
                    r = n(i),
                    a = null === o ? null : n(o)
                  if (
                    (r !== e && r.replace(/%20/g, '+') !== e) ||
                    (null !== a && a !== s && a.replace(/%20/g, '+') !== s)
                  )
                    return [null, null]
                } catch (e) {
                  if (e instanceof URIError) return [null, null]
                  throw e
                }
                t.push([i, o])
              }
              const n = {}
              let r = null
              for (const [e, s] of t) {
                if (r === e) n[e].push(s)
                else {
                  if (a(n, e)) return [t, null]
                  n[e] = [s]
                }
                r = e
              }
              for (const [e, t] of Object.entries(n))
                1 === t.length && (n[e] = t[0])
              return [t, n]
            }
            function M (e, t = []) {
              if (!e.url || !e.url.length) throw new l('no URL specified!')
              e.url.length > 1 &&
                t.push([
                  'multiple-urls',
                  'found multiple URLs, only the last one will be used'
                ])
              let n = e.url[e.url.length - 1]
              const r = []
              if (e.header)
                for (const t of e.header)
                  if (t.includes(':')) {
                    const [e, n] = t.split(/:(.*)/s, 2)
                    n.trim()
                      ? r.push([e, n.replace(/^ /, '')])
                      : r.push([e, null])
                  } else if (t.includes(';')) {
                    const [e] = t.split(/;(.*)/s, 2)
                    r.push([e, ''])
                  }
              const i =
                r.length > 0 && r.every(e => e[0] === e[0].toLowerCase())
              let o
              const c = [],
                u = r.filter(e => 'cookie' === e[0].toLowerCase())
              if (1 === u.length && null !== u[0][1]) {
                const e = W(u[0][1])
                e && (o = e)
              } else if (0 === u.length && e.cookie) {
                const t = []
                for (const n of e.cookie)
                  n.includes('=') ? t.push(n) : c.push(n)
                if (t.length) {
                  const t = e.cookie.join(';')
                  B(r, 'Cookie', t, i), (o = z(t))
                }
              }
              if (
                (e['user-agent'] && B(r, 'User-Agent', e['user-agent'], i),
                e.referer)
              ) {
                const t = e.referer.replace(/;auto$/, '')
                t && B(r, 'Referer', t, i)
              }
              let d = 'GET'
              e.head
                ? (d = 'HEAD')
                : a(e, 'request') && 'null' !== e.request
                ? (d = e.request)
                : e['upload-file']
                ? (d = 'PUT')
                : (a(e, 'data') ||
                    a(e, 'data-binary') ||
                    a(e, 'data-ascii') ||
                    a(e, 'data-raw') ||
                    a(e, 'data-urlencode') ||
                    a(e, 'form') ||
                    a(e, 'json')) &&
                  !e.get &&
                  (d = 'POST')
              const p = n.match(/^([a-zA-Z0-9+-.]*):\/\/?/)
              if (p) {
                const e = p[1].toLowerCase()
                'http' !== e &&
                  'https' !== e &&
                  t.push(['bad-scheme', `Protocol "${e}" not supported`]),
                  (n = e + '://' + n.slice(p[0].length))
              } else n = 'http://' + n
              let h = s.parse(n)
              if (
                (e['upload-file'] &&
                  ((h.path && '/' !== h.path) || h.hash
                    ? n.endsWith('/') && (n += e['upload-file'])
                    : (n += '/' + e['upload-file']),
                  (h = s.parse(n))),
                e.get &&
                  ((h.query = h.query ? h.query : ''),
                  a(e, 'data') && void 0 !== e.data))
              ) {
                let t = ''
                n.indexOf('?') < 0 ? (n += '?') : (t += '&'),
                  (t += e.data.join('&')),
                  (h.query += t),
                  (n += t),
                  delete e.data
              }
              h.query &&
                h.query.endsWith('&') &&
                (h.query = h.query.slice(0, -1))
              const [f, m] = R(h.query),
                _ = f && f.length && f.every(e => null !== e[1])
              let g
              _ ? ((h.search = null), (g = s.format(h))) : (g = n)
              const b = { url: n, method: d, urlWithoutQuery: g }
              let y
              if (
                (_ && ((b.query = f), m && (b.queryDict = m)),
                o && (b.cookies = o),
                c.length && (b.cookieFiles = c),
                e['cookie-jar'] && (b.cookieJar = e['cookie-jar']),
                e.compressed && (b.compressed = !0),
                e['upload-file'] && (b.uploadFile = e['upload-file']),
                e.data)
              )
                (y = e.data),
                  B(r, 'Content-Type', 'application/x-www-form-urlencoded', i)
              else if (e['data-binary'])
                (y = e['data-binary']),
                  (b.isDataBinary = !0),
                  B(r, 'Content-Type', 'application/x-www-form-urlencoded', i)
              else if (e['data-ascii'])
                (y = e['data-ascii']),
                  B(r, 'Content-Type', 'application/x-www-form-urlencoded', i)
              else if (e['data-raw'])
                (y = e['data-raw']),
                  (b.isDataRaw = !0),
                  B(r, 'Content-Type', 'application/x-www-form-urlencoded', i)
              else if (e['data-urlencode'])
                (y = e['data-urlencode']),
                  B(r, 'Content-Type', 'application/x-www-form-urlencoded', i)
              else if (e.json)
                (y = e.json),
                  B(r, 'Content-Type', 'application/json', i),
                  B(r, 'Accept', 'application/json', i)
              else if (e.form) {
                b.multipartUploads = []
                for (const t of e.form) {
                  if (!t.value.includes('='))
                    throw new l(
                      'invalid value for --form/-F: ' + JSON.stringify(t.value)
                    )
                  const [e, n] = t.value.split(/=(.*)/s, 2),
                    r = 'string' === t.type
                  if (r || '@' !== n.charAt(0))
                    if (r || '<' !== n.charAt(0)) {
                      const t = n
                      b.multipartUploads.push({ name: e, content: t })
                    } else {
                      const t = n.slice(1)
                      b.multipartUploads.push({ name: e, contentFile: t })
                    }
                  else {
                    const t = n.slice(1),
                      r = t
                    b.multipartUploads.push({
                      name: e,
                      contentFile: t,
                      filename: r
                    })
                  }
                }
              }
              if (r.length > 0) {
                for (let e = r.length - 1; e >= 0; e--)
                  null === r[e][1] && r.splice(e, 1)
                b.headers = r
              }
              if (e.user) {
                const [t, n] = e.user.split(/:(.*)/s, 2)
                b.auth = [t, n || '']
              }
              return (
                e.digest && (b.digest = e.digest),
                y &&
                  (y.length > 1
                    ? ((b.dataArray = y), (b.data = y.join(e.json ? '' : '&')))
                    : (b.data = y[0])),
                e.insecure && (b.insecure = !0),
                e.cert && (b.cert = e.key ? [e.cert, e.key] : e.cert),
                e.cacert && (b.cacert = e.cacert),
                e.capath && (b.capath = e.capath),
                e.proxy &&
                  ((b.proxy = e.proxy),
                  e['proxy-user'] && (b.proxyAuth = e['proxy-user'])),
                e['max-time'] && (b.timeout = e['max-time']),
                (e.location || e['location-trusted']) &&
                  (b.followRedirects = !0),
                e['max-redirs'] &&
                  (isNaN(parseInt(e['max-redirs'])) &&
                    t.push([
                      'max-redirs-not-int',
                      '--max-redirs value is not a number: ' +
                        JSON.stringify(e['max-redirs'])
                    ]),
                  (b.maxRedirects = e['max-redirs'].trim())),
                e.output && (b.output = e.output),
                e.http2 && (b.http2 = e.http2),
                e.http3 && (b.http3 = e.http3),
                b
              )
            }
            function D (e, t, n = []) {
              let r, s, i, o
              if (Array.isArray(e)) {
                if ((([r, ...s] = e), void 0 === r))
                  throw new l('no arguments provided')
              } else if (
                (({ cmdName: r, args: s, stdin: i, stdinFile: o } = k(e, n)),
                void 0 === r)
              )
                throw new l('failed to parse input')
              if ('curl' !== r.trim()) {
                const e = r.length > 30 ? r.slice(0, 27) + '...' : r
                throw r.startsWith('curl ')
                  ? new l(
                      'command should begin with a single token "curl" but instead begins with ' +
                        JSON.stringify(e)
                    )
                  : new l(
                      'command should begin with "curl" but instead begins with ' +
                        JSON.stringify(e)
                    )
              }
              const a = M(P(s, y, p, t, n), n)
              return o && (a.stdinFile = o), i && (a.stdin = i), a
            }
            const j = (e, t) => {
                if (!e.headers) return
                const n = t.toLowerCase()
                for (const [t, r] of e.headers)
                  if (t.toLowerCase() === n) return r
              },
              F = e => {
                if (!e.headers) return
                const t = j(e, 'content-type')
                return t ? t.split(';')[0].trim() : t
              },
              q = (e, t) => {
                const n = t.toLowerCase()
                for (const t of e) if (t[0].toLowerCase() === n) return !0
                return !1
              },
              $ = (e, t) => {
                if (e.headers) return q(e.headers, t)
              },
              B = (e, t, n, r = !1) =>
                !q(e, t) && (e.push([r ? t.toLowerCase() : t, n]), !0),
              U = (e, t) => {
                const n = t.toLowerCase()
                for (let t = e.length - 1; t >= 0; t--)
                  e[t][0].toLowerCase() === n && e.splice(t, 1)
              },
              H = (e, t) => {
                if (e.headers) return U(e.headers, t)
              },
              W = e => {
                const t = []
                for (let n of e.split(';')) {
                  n = n.replace(/^ /, '')
                  const [e, r] = n.split(/=(.*)/s, 2)
                  if (void 0 === r) return null
                  t.push([e, r])
                }
                return t
              },
              z = e => {
                const t = []
                for (let n of e.split(';')) {
                  if (((n = n.trim()), !n)) continue
                  const [e, r] = n.split(/=(.*)/s, 2)
                  t.push([e, r || ''])
                }
                return t
              }
            r()
          } catch (se) {
            r(se)
          }
        })
      },
      1261: (e, t, n) => {
        'use strict'
        n.d(t, { Z: () => r })
        const r = n(2324)
      },
      8396: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = {
              keyword: [
                'abstract',
                'as',
                'base',
                'break',
                'case',
                'catch',
                'class',
                'const',
                'continue',
                'do',
                'else',
                'event',
                'explicit',
                'extern',
                'finally',
                'fixed',
                'for',
                'foreach',
                'goto',
                'if',
                'implicit',
                'in',
                'interface',
                'internal',
                'is',
                'lock',
                'namespace',
                'new',
                'operator',
                'out',
                'override',
                'params',
                'private',
                'protected',
                'public',
                'readonly',
                'record',
                'ref',
                'return',
                'scoped',
                'sealed',
                'sizeof',
                'stackalloc',
                'static',
                'struct',
                'switch',
                'this',
                'throw',
                'try',
                'typeof',
                'unchecked',
                'unsafe',
                'using',
                'virtual',
                'void',
                'volatile',
                'while'
              ].concat([
                'add',
                'alias',
                'and',
                'ascending',
                'async',
                'await',
                'by',
                'descending',
                'equals',
                'from',
                'get',
                'global',
                'group',
                'init',
                'into',
                'join',
                'let',
                'nameof',
                'not',
                'notnull',
                'on',
                'or',
                'orderby',
                'partial',
                'remove',
                'select',
                'set',
                'unmanaged',
                'value|0',
                'var',
                'when',
                'where',
                'with',
                'yield'
              ]),
              built_in: [
                'bool',
                'byte',
                'char',
                'decimal',
                'delegate',
                'double',
                'dynamic',
                'enum',
                'float',
                'int',
                'long',
                'nint',
                'nuint',
                'object',
                'sbyte',
                'short',
                'string',
                'ulong',
                'uint',
                'ushort'
              ],
              literal: ['default', 'false', 'null', 'true']
            },
            n = e.inherit(e.TITLE_MODE, { begin: '[a-zA-Z](\\.?\\w)*' }),
            r = {
              className: 'number',
              variants: [
                { begin: "\\b(0b[01']+)" },
                {
                  begin:
                    "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"
                },
                {
                  begin:
                    "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"
                }
              ],
              relevance: 0
            },
            s = {
              className: 'string',
              begin: '@"',
              end: '"',
              contains: [{ begin: '""' }]
            },
            i = e.inherit(s, { illegal: /\n/ }),
            o = { className: 'subst', begin: /\{/, end: /\}/, keywords: t },
            a = e.inherit(o, { illegal: /\n/ }),
            l = {
              className: 'string',
              begin: /\$"/,
              end: '"',
              illegal: /\n/,
              contains: [
                { begin: /\{\{/ },
                { begin: /\}\}/ },
                e.BACKSLASH_ESCAPE,
                a
              ]
            },
            c = {
              className: 'string',
              begin: /\$@"/,
              end: '"',
              contains: [
                { begin: /\{\{/ },
                { begin: /\}\}/ },
                { begin: '""' },
                o
              ]
            },
            u = e.inherit(c, {
              illegal: /\n/,
              contains: [
                { begin: /\{\{/ },
                { begin: /\}\}/ },
                { begin: '""' },
                a
              ]
            })
          ;(o.contains = [
            c,
            l,
            s,
            e.APOS_STRING_MODE,
            e.QUOTE_STRING_MODE,
            r,
            e.C_BLOCK_COMMENT_MODE
          ]),
            (a.contains = [
              u,
              l,
              i,
              e.APOS_STRING_MODE,
              e.QUOTE_STRING_MODE,
              r,
              e.inherit(e.C_BLOCK_COMMENT_MODE, { illegal: /\n/ })
            ])
          const d = {
              variants: [c, l, s, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]
            },
            p = {
              begin: '<',
              end: '>',
              contains: [{ beginKeywords: 'in out' }, n]
            },
            h =
              e.IDENT_RE +
              '(<' +
              e.IDENT_RE +
              '(\\s*,\\s*' +
              e.IDENT_RE +
              ')*>)?(\\[\\])?',
            f = { begin: '@' + e.IDENT_RE, relevance: 0 }
          return {
            name: 'C#',
            aliases: ['cs', 'c#'],
            keywords: t,
            illegal: /::/,
            contains: [
              e.COMMENT('///', '$', {
                returnBegin: !0,
                contains: [
                  {
                    className: 'doctag',
                    variants: [
                      { begin: '///', relevance: 0 },
                      { begin: '\x3c!--|--\x3e' },
                      { begin: '</?', end: '>' }
                    ]
                  }
                ]
              }),
              e.C_LINE_COMMENT_MODE,
              e.C_BLOCK_COMMENT_MODE,
              {
                className: 'meta',
                begin: '#',
                end: '$',
                keywords: {
                  keyword:
                    'if else elif endif define undef warning error line region endregion pragma checksum'
                }
              },
              d,
              r,
              {
                beginKeywords: 'class interface',
                relevance: 0,
                end: /[{;=]/,
                illegal: /[^\s:,]/,
                contains: [
                  { beginKeywords: 'where class' },
                  n,
                  p,
                  e.C_LINE_COMMENT_MODE,
                  e.C_BLOCK_COMMENT_MODE
                ]
              },
              {
                beginKeywords: 'namespace',
                relevance: 0,
                end: /[{;=]/,
                illegal: /[^\s:]/,
                contains: [n, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
              },
              {
                beginKeywords: 'record',
                relevance: 0,
                end: /[{;=]/,
                illegal: /[^\s:]/,
                contains: [n, p, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
              },
              {
                className: 'meta',
                begin: '^\\s*\\[(?=[\\w])',
                excludeBegin: !0,
                end: '\\]',
                excludeEnd: !0,
                contains: [{ className: 'string', begin: /"/, end: /"/ }]
              },
              { beginKeywords: 'new return throw await else', relevance: 0 },
              {
                className: 'function',
                begin:
                  '(' + h + '\\s+)+' + e.IDENT_RE + '\\s*(<[^=]+>\\s*)?\\(',
                returnBegin: !0,
                end: /\s*[{;=]/,
                excludeEnd: !0,
                keywords: t,
                contains: [
                  {
                    beginKeywords: [
                      'public',
                      'private',
                      'protected',
                      'static',
                      'internal',
                      'protected',
                      'abstract',
                      'async',
                      'extern',
                      'override',
                      'unsafe',
                      'virtual',
                      'new',
                      'sealed',
                      'partial'
                    ].join(' '),
                    relevance: 0
                  },
                  {
                    begin: e.IDENT_RE + '\\s*(<[^=]+>\\s*)?\\(',
                    returnBegin: !0,
                    contains: [e.TITLE_MODE, p],
                    relevance: 0
                  },
                  { match: /\(\)/ },
                  {
                    className: 'params',
                    begin: /\(/,
                    end: /\)/,
                    excludeBegin: !0,
                    excludeEnd: !0,
                    keywords: t,
                    relevance: 0,
                    contains: [d, r, e.C_BLOCK_COMMENT_MODE]
                  },
                  e.C_LINE_COMMENT_MODE,
                  e.C_BLOCK_COMMENT_MODE
                ]
              },
              f
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      6488: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = {
              className: 'subst',
              variants: [{ begin: '\\$[A-Za-z0-9_]+' }]
            },
            n = {
              className: 'subst',
              variants: [{ begin: /\$\{/, end: /\}/ }],
              keywords: 'true false null this is new super'
            },
            r = {
              className: 'string',
              variants: [
                { begin: "r'''", end: "'''" },
                { begin: 'r"""', end: '"""' },
                { begin: "r'", end: "'", illegal: '\\n' },
                { begin: 'r"', end: '"', illegal: '\\n' },
                {
                  begin: "'''",
                  end: "'''",
                  contains: [e.BACKSLASH_ESCAPE, t, n]
                },
                {
                  begin: '"""',
                  end: '"""',
                  contains: [e.BACKSLASH_ESCAPE, t, n]
                },
                {
                  begin: "'",
                  end: "'",
                  illegal: '\\n',
                  contains: [e.BACKSLASH_ESCAPE, t, n]
                },
                {
                  begin: '"',
                  end: '"',
                  illegal: '\\n',
                  contains: [e.BACKSLASH_ESCAPE, t, n]
                }
              ]
            }
          n.contains = [e.C_NUMBER_MODE, r]
          const s = [
              'Comparable',
              'DateTime',
              'Duration',
              'Function',
              'Iterable',
              'Iterator',
              'List',
              'Map',
              'Match',
              'Object',
              'Pattern',
              'RegExp',
              'Set',
              'Stopwatch',
              'String',
              'StringBuffer',
              'StringSink',
              'Symbol',
              'Type',
              'Uri',
              'bool',
              'double',
              'int',
              'num',
              'Element',
              'ElementList'
            ],
            i = s.map(e => `${e}?`)
          return {
            name: 'Dart',
            keywords: {
              keyword: [
                'abstract',
                'as',
                'assert',
                'async',
                'await',
                'break',
                'case',
                'catch',
                'class',
                'const',
                'continue',
                'covariant',
                'default',
                'deferred',
                'do',
                'dynamic',
                'else',
                'enum',
                'export',
                'extends',
                'extension',
                'external',
                'factory',
                'false',
                'final',
                'finally',
                'for',
                'Function',
                'get',
                'hide',
                'if',
                'implements',
                'import',
                'in',
                'inferface',
                'is',
                'late',
                'library',
                'mixin',
                'new',
                'null',
                'on',
                'operator',
                'part',
                'required',
                'rethrow',
                'return',
                'set',
                'show',
                'static',
                'super',
                'switch',
                'sync',
                'this',
                'throw',
                'true',
                'try',
                'typedef',
                'var',
                'void',
                'while',
                'with',
                'yield'
              ],
              built_in: s
                .concat(i)
                .concat([
                  'Never',
                  'Null',
                  'dynamic',
                  'print',
                  'document',
                  'querySelector',
                  'querySelectorAll',
                  'window'
                ]),
              $pattern: /[A-Za-z][A-Za-z0-9_]*\??/
            },
            contains: [
              r,
              e.COMMENT(/\/\*\*(?!\/)/, /\*\//, {
                subLanguage: 'markdown',
                relevance: 0
              }),
              e.COMMENT(/\/{3,} ?/, /$/, {
                contains: [
                  {
                    subLanguage: 'markdown',
                    begin: '.',
                    end: '$',
                    relevance: 0
                  }
                ]
              }),
              e.C_LINE_COMMENT_MODE,
              e.C_BLOCK_COMMENT_MODE,
              {
                className: 'class',
                beginKeywords: 'class interface',
                end: /\{/,
                excludeEnd: !0,
                contains: [
                  { beginKeywords: 'extends implements' },
                  e.UNDERSCORE_TITLE_MODE
                ]
              },
              e.C_NUMBER_MODE,
              { className: 'meta', begin: '@[A-Za-z]+' },
              { begin: '=>' }
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      7340: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n = '[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?',
            r = {
              $pattern: n,
              keyword: [
                'after',
                'alias',
                'and',
                'case',
                'catch',
                'cond',
                'defstruct',
                'defguard',
                'do',
                'else',
                'end',
                'fn',
                'for',
                'if',
                'import',
                'in',
                'not',
                'or',
                'quote',
                'raise',
                'receive',
                'require',
                'reraise',
                'rescue',
                'try',
                'unless',
                'unquote',
                'unquote_splicing',
                'use',
                'when',
                'with|0'
              ],
              literal: ['false', 'nil', 'true']
            },
            s = { className: 'subst', begin: /#\{/, end: /\}/, keywords: r },
            i = { match: /\\[\s\S]/, scope: 'char.escape', relevance: 0 },
            o = [
              { begin: /"/, end: /"/ },
              { begin: /'/, end: /'/ },
              { begin: /\//, end: /\// },
              { begin: /\|/, end: /\|/ },
              { begin: /\(/, end: /\)/ },
              { begin: /\[/, end: /\]/ },
              { begin: /\{/, end: /\}/ },
              { begin: /</, end: />/ }
            ],
            a = e => ({
              scope: 'char.escape',
              begin: t.concat(/\\/, e),
              relevance: 0
            }),
            l = {
              className: 'string',
              begin: '~[a-z](?=[/|([{<"\'])',
              contains: o.map(t => e.inherit(t, { contains: [a(t.end), i, s] }))
            },
            c = {
              className: 'string',
              begin: '~[A-Z](?=[/|([{<"\'])',
              contains: o.map(t => e.inherit(t, { contains: [a(t.end)] }))
            },
            u = {
              className: 'regex',
              variants: [
                {
                  begin: '~r(?=[/|([{<"\'])',
                  contains: o.map(n =>
                    e.inherit(n, {
                      end: t.concat(n.end, /[uismxfU]{0,7}/),
                      contains: [a(n.end), i, s]
                    })
                  )
                },
                {
                  begin: '~R(?=[/|([{<"\'])',
                  contains: o.map(n =>
                    e.inherit(n, {
                      end: t.concat(n.end, /[uismxfU]{0,7}/),
                      contains: [a(n.end)]
                    })
                  )
                }
              ]
            },
            d = {
              className: 'string',
              contains: [e.BACKSLASH_ESCAPE, s],
              variants: [
                { begin: /"""/, end: /"""/ },
                { begin: /'''/, end: /'''/ },
                { begin: /~S"""/, end: /"""/, contains: [] },
                { begin: /~S"/, end: /"/, contains: [] },
                { begin: /~S'''/, end: /'''/, contains: [] },
                { begin: /~S'/, end: /'/, contains: [] },
                { begin: /'/, end: /'/ },
                { begin: /"/, end: /"/ }
              ]
            },
            p = {
              className: 'function',
              beginKeywords: 'def defp defmacro defmacrop',
              end: /\B\b/,
              contains: [e.inherit(e.TITLE_MODE, { begin: n, endsParent: !0 })]
            },
            h = e.inherit(p, {
              className: 'class',
              beginKeywords: 'defimpl defmodule defprotocol defrecord',
              end: /\bdo\b|$|;/
            }),
            f = [
              d,
              u,
              c,
              l,
              e.HASH_COMMENT_MODE,
              h,
              p,
              { begin: '::' },
              {
                className: 'symbol',
                begin: ':(?![\\s:])',
                contains: [
                  d,
                  {
                    begin:
                      '[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?'
                  }
                ],
                relevance: 0
              },
              { className: 'symbol', begin: n + ':(?!:)', relevance: 0 },
              {
                className: 'title.class',
                begin: /(\b[A-Z][a-zA-Z0-9_]+)/,
                relevance: 0
              },
              {
                className: 'number',
                begin:
                  '(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[0-9][0-9_]*(\\.[0-9_]+([eE][-+]?[0-9]+)?)?)',
                relevance: 0
              },
              { className: 'variable', begin: '(\\$\\W)|((\\$|@@?)(\\w+))' }
            ]
          return (
            (s.contains = f),
            { name: 'Elixir', aliases: ['ex', 'exs'], keywords: r, contains: f }
          )
        }
        n.d(t, { Z: () => r })
      },
      5431: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = {
            keyword: [
              'break',
              'case',
              'chan',
              'const',
              'continue',
              'default',
              'defer',
              'else',
              'fallthrough',
              'for',
              'func',
              'go',
              'goto',
              'if',
              'import',
              'interface',
              'map',
              'package',
              'range',
              'return',
              'select',
              'struct',
              'switch',
              'type',
              'var'
            ],
            type: [
              'bool',
              'byte',
              'complex64',
              'complex128',
              'error',
              'float32',
              'float64',
              'int8',
              'int16',
              'int32',
              'int64',
              'string',
              'uint8',
              'uint16',
              'uint32',
              'uint64',
              'int',
              'uint',
              'uintptr',
              'rune'
            ],
            literal: ['true', 'false', 'iota', 'nil'],
            built_in: [
              'append',
              'cap',
              'close',
              'complex',
              'copy',
              'imag',
              'len',
              'make',
              'new',
              'panic',
              'print',
              'println',
              'real',
              'recover',
              'delete'
            ]
          }
          return {
            name: 'Go',
            aliases: ['golang'],
            keywords: t,
            illegal: '</',
            contains: [
              e.C_LINE_COMMENT_MODE,
              e.C_BLOCK_COMMENT_MODE,
              {
                className: 'string',
                variants: [
                  e.QUOTE_STRING_MODE,
                  e.APOS_STRING_MODE,
                  { begin: '`', end: '`' }
                ]
              },
              {
                className: 'number',
                variants: [
                  { begin: e.C_NUMBER_RE + '[i]', relevance: 1 },
                  e.C_NUMBER_MODE
                ]
              },
              { begin: /:=/ },
              {
                className: 'function',
                beginKeywords: 'func',
                end: '\\s*(\\{|$)',
                excludeEnd: !0,
                contains: [
                  e.TITLE_MODE,
                  {
                    className: 'params',
                    begin: /\(/,
                    end: /\)/,
                    endsParent: !0,
                    keywords: t,
                    illegal: /["']/
                  }
                ]
              }
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      9863: (e, t, n) => {
        'use strict'
        n.d(t, { Z: () => a })
        var r = '\\.([0-9](_*[0-9])*)',
          s = '[0-9a-fA-F](_*[0-9a-fA-F])*',
          i = {
            className: 'number',
            variants: [
              {
                begin: `(\\b([0-9](_*[0-9])*)((${r})|\\.)?|(${r}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
              },
              {
                begin: `\\b([0-9](_*[0-9])*)((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`
              },
              { begin: `(${r})[fFdD]?\\b` },
              { begin: '\\b([0-9](_*[0-9])*)[fFdD]\\b' },
              {
                begin: `\\b0[xX]((${s})\\.?|(${s})?\\.(${s}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b`
              },
              { begin: '\\b(0|[1-9](_*[0-9])*)[lL]?\\b' },
              { begin: `\\b0[xX](${s})[lL]?\\b` },
              { begin: '\\b0(_*[0-7])*[lL]?\\b' },
              { begin: '\\b0[bB][01](_*[01])*[lL]?\\b' }
            ],
            relevance: 0
          }
        function o (e, t, n) {
          return -1 === n ? '' : e.replace(t, r => o(e, t, n - 1))
        }
        function a (e) {
          const t = e.regex,
            n = '[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*',
            r =
              n + o('(?:<' + n + '~~~(?:\\s*,\\s*' + n + '~~~)*>)?', /~~~/g, 2),
            s = {
              keyword: [
                'synchronized',
                'abstract',
                'private',
                'var',
                'static',
                'if',
                'const ',
                'for',
                'while',
                'strictfp',
                'finally',
                'protected',
                'import',
                'native',
                'final',
                'void',
                'enum',
                'else',
                'break',
                'transient',
                'catch',
                'instanceof',
                'volatile',
                'case',
                'assert',
                'package',
                'default',
                'public',
                'try',
                'switch',
                'continue',
                'throws',
                'protected',
                'public',
                'private',
                'module',
                'requires',
                'exports',
                'do',
                'sealed'
              ],
              literal: ['false', 'true', 'null'],
              type: [
                'char',
                'boolean',
                'long',
                'float',
                'int',
                'byte',
                'short',
                'double'
              ],
              built_in: ['super', 'this']
            },
            a = {
              className: 'meta',
              begin: '@' + n,
              contains: [{ begin: /\(/, end: /\)/, contains: ['self'] }]
            },
            l = {
              className: 'params',
              begin: /\(/,
              end: /\)/,
              keywords: s,
              relevance: 0,
              contains: [e.C_BLOCK_COMMENT_MODE],
              endsParent: !0
            }
          return {
            name: 'Java',
            aliases: ['jsp'],
            keywords: s,
            illegal: /<\/|#/,
            contains: [
              e.COMMENT('/\\*\\*', '\\*/', {
                relevance: 0,
                contains: [
                  { begin: /\w+@/, relevance: 0 },
                  { className: 'doctag', begin: '@[A-Za-z]+' }
                ]
              }),
              {
                begin: /import java\.[a-z]+\./,
                keywords: 'import',
                relevance: 2
              },
              e.C_LINE_COMMENT_MODE,
              e.C_BLOCK_COMMENT_MODE,
              {
                begin: /"""/,
                end: /"""/,
                className: 'string',
                contains: [e.BACKSLASH_ESCAPE]
              },
              e.APOS_STRING_MODE,
              e.QUOTE_STRING_MODE,
              {
                match: [
                  /\b(?:class|interface|enum|extends|implements|new)/,
                  /\s+/,
                  n
                ],
                className: { 1: 'keyword', 3: 'title.class' }
              },
              { match: /non-sealed/, scope: 'keyword' },
              {
                begin: [t.concat(/(?!else)/, n), /\s+/, n, /\s+/, /=(?!=)/],
                className: { 1: 'type', 3: 'variable', 5: 'operator' }
              },
              {
                begin: [/record/, /\s+/, n],
                className: { 1: 'keyword', 3: 'title.class' },
                contains: [l, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE]
              },
              { beginKeywords: 'new throw return else', relevance: 0 },
              {
                begin: [
                  '(?:' + r + '\\s+)',
                  e.UNDERSCORE_IDENT_RE,
                  /\s*(?=\()/
                ],
                className: { 2: 'title.function' },
                keywords: s,
                contains: [
                  {
                    className: 'params',
                    begin: /\(/,
                    end: /\)/,
                    keywords: s,
                    relevance: 0,
                    contains: [
                      a,
                      e.APOS_STRING_MODE,
                      e.QUOTE_STRING_MODE,
                      i,
                      e.C_BLOCK_COMMENT_MODE
                    ]
                  },
                  e.C_LINE_COMMENT_MODE,
                  e.C_BLOCK_COMMENT_MODE
                ]
              },
              i,
              a
            ]
          }
        }
      },
      3925: (e, t, n) => {
        'use strict'
        n.d(t, { Z: () => d })
        const r = '[A-Za-z$_][0-9A-Za-z$_]*',
          s = [
            'as',
            'in',
            'of',
            'if',
            'for',
            'while',
            'finally',
            'var',
            'new',
            'function',
            'do',
            'return',
            'void',
            'else',
            'break',
            'catch',
            'instanceof',
            'with',
            'throw',
            'case',
            'default',
            'try',
            'switch',
            'continue',
            'typeof',
            'delete',
            'let',
            'yield',
            'const',
            'class',
            'debugger',
            'async',
            'await',
            'static',
            'import',
            'from',
            'export',
            'extends'
          ],
          i = ['true', 'false', 'null', 'undefined', 'NaN', 'Infinity'],
          o = [
            'Object',
            'Function',
            'Boolean',
            'Symbol',
            'Math',
            'Date',
            'Number',
            'BigInt',
            'String',
            'RegExp',
            'Array',
            'Float32Array',
            'Float64Array',
            'Int8Array',
            'Uint8Array',
            'Uint8ClampedArray',
            'Int16Array',
            'Int32Array',
            'Uint16Array',
            'Uint32Array',
            'BigInt64Array',
            'BigUint64Array',
            'Set',
            'Map',
            'WeakSet',
            'WeakMap',
            'ArrayBuffer',
            'SharedArrayBuffer',
            'Atomics',
            'DataView',
            'JSON',
            'Promise',
            'Generator',
            'GeneratorFunction',
            'AsyncFunction',
            'Reflect',
            'Proxy',
            'Intl',
            'WebAssembly'
          ],
          a = [
            'Error',
            'EvalError',
            'InternalError',
            'RangeError',
            'ReferenceError',
            'SyntaxError',
            'TypeError',
            'URIError'
          ],
          l = [
            'setInterval',
            'setTimeout',
            'clearInterval',
            'clearTimeout',
            'require',
            'exports',
            'eval',
            'isFinite',
            'isNaN',
            'parseFloat',
            'parseInt',
            'decodeURI',
            'decodeURIComponent',
            'encodeURI',
            'encodeURIComponent',
            'escape',
            'unescape'
          ],
          c = [
            'arguments',
            'this',
            'super',
            'console',
            'window',
            'document',
            'localStorage',
            'module',
            'global'
          ],
          u = [].concat(l, o, a)
        function d (e) {
          const t = e.regex,
            n = r,
            d = {
              begin: /<[A-Za-z0-9\\._:-]+/,
              end: /\/[A-Za-z0-9\\._:-]+>|\/>/,
              isTrulyOpeningTag: (e, t) => {
                const n = e[0].length + e.index,
                  r = e.input[n]
                if ('<' === r || ',' === r) return void t.ignoreMatch()
                let s
                '>' === r &&
                  (((e, { after: t }) => {
                    const n = '</' + e[0].slice(1)
                    return -1 !== e.input.indexOf(n, t)
                  })(e, { after: n }) ||
                    t.ignoreMatch()),
                  (s = e.input.substring(n).match(/^\s+extends\s+/)) &&
                    0 === s.index &&
                    t.ignoreMatch()
              }
            },
            p = {
              $pattern: r,
              keyword: s,
              literal: i,
              built_in: u,
              'variable.language': c
            },
            h = '\\.([0-9](_?[0-9])*)',
            f = '0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*',
            m = {
              className: 'number',
              variants: [
                {
                  begin: `(\\b(${f})((${h})|\\.)?|(${h}))[eE][+-]?([0-9](_?[0-9])*)\\b`
                },
                { begin: `\\b(${f})\\b((${h})\\b|\\.)?|(${h})\\b` },
                { begin: '\\b(0|[1-9](_?[0-9])*)n\\b' },
                { begin: '\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b' },
                { begin: '\\b0[bB][0-1](_?[0-1])*n?\\b' },
                { begin: '\\b0[oO][0-7](_?[0-7])*n?\\b' },
                { begin: '\\b0[0-7]+n?\\b' }
              ],
              relevance: 0
            },
            _ = {
              className: 'subst',
              begin: '\\$\\{',
              end: '\\}',
              keywords: p,
              contains: []
            },
            g = {
              begin: 'html`',
              end: '',
              starts: {
                end: '`',
                returnEnd: !1,
                contains: [e.BACKSLASH_ESCAPE, _],
                subLanguage: 'xml'
              }
            },
            b = {
              begin: 'css`',
              end: '',
              starts: {
                end: '`',
                returnEnd: !1,
                contains: [e.BACKSLASH_ESCAPE, _],
                subLanguage: 'css'
              }
            },
            y = {
              className: 'string',
              begin: '`',
              end: '`',
              contains: [e.BACKSLASH_ESCAPE, _]
            },
            w = {
              className: 'comment',
              variants: [
                e.COMMENT(/\/\*\*(?!\/)/, '\\*/', {
                  relevance: 0,
                  contains: [
                    {
                      begin: '(?=@[A-Za-z]+)',
                      relevance: 0,
                      contains: [
                        { className: 'doctag', begin: '@[A-Za-z]+' },
                        {
                          className: 'type',
                          begin: '\\{',
                          end: '\\}',
                          excludeEnd: !0,
                          excludeBegin: !0,
                          relevance: 0
                        },
                        {
                          className: 'variable',
                          begin: n + '(?=\\s*(-)|$)',
                          endsParent: !0,
                          relevance: 0
                        },
                        { begin: /(?=[^\n])\s/, relevance: 0 }
                      ]
                    }
                  ]
                }),
                e.C_BLOCK_COMMENT_MODE,
                e.C_LINE_COMMENT_MODE
              ]
            },
            v = [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, g, b, y, m]
          _.contains = v.concat({
            begin: /\{/,
            end: /\}/,
            keywords: p,
            contains: ['self'].concat(v)
          })
          const E = [].concat(w, _.contains),
            x = E.concat([
              {
                begin: /\(/,
                end: /\)/,
                keywords: p,
                contains: ['self'].concat(E)
              }
            ]),
            A = {
              className: 'params',
              begin: /\(/,
              end: /\)/,
              excludeBegin: !0,
              excludeEnd: !0,
              keywords: p,
              contains: x
            },
            S = {
              variants: [
                {
                  match: [
                    /class/,
                    /\s+/,
                    n,
                    /\s+/,
                    /extends/,
                    /\s+/,
                    t.concat(n, '(', t.concat(/\./, n), ')*')
                  ],
                  scope: {
                    1: 'keyword',
                    3: 'title.class',
                    5: 'keyword',
                    7: 'title.class.inherited'
                  }
                },
                {
                  match: [/class/, /\s+/, n],
                  scope: { 1: 'keyword', 3: 'title.class' }
                }
              ]
            },
            C = {
              relevance: 0,
              match: t.either(
                /\bJSON/,
                /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,
                /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,
                /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/
              ),
              className: 'title.class',
              keywords: { _: [...o, ...a] }
            },
            T = {
              variants: [
                { match: [/function/, /\s+/, n, /(?=\s*\()/] },
                { match: [/function/, /\s*(?=\()/] }
              ],
              className: { 1: 'keyword', 3: 'title.function' },
              label: 'func.def',
              contains: [A],
              illegal: /%/
            },
            N = {
              match: t.concat(
                /\b/,
                ((O = [...l, 'super']), t.concat('(?!', O.join('|'), ')')),
                n,
                t.lookahead(/\(/)
              ),
              className: 'title.function',
              relevance: 0
            }
          var O
          const k = {
              begin: t.concat(
                /\./,
                t.lookahead(t.concat(n, /(?![0-9A-Za-z$_(])/))
              ),
              end: n,
              excludeBegin: !0,
              keywords: 'prototype',
              className: 'property',
              relevance: 0
            },
            I = {
              match: [/get|set/, /\s+/, n, /(?=\()/],
              className: { 1: 'keyword', 3: 'title.function' },
              contains: [{ begin: /\(\)/ }, A]
            },
            L =
              '(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|' +
              e.UNDERSCORE_IDENT_RE +
              ')\\s*=>',
            P = {
              match: [
                /const|var|let/,
                /\s+/,
                n,
                /\s*/,
                /=\s*/,
                /(async\s*)?/,
                t.lookahead(L)
              ],
              keywords: 'async',
              className: { 1: 'keyword', 3: 'title.function' },
              contains: [A]
            }
          return {
            name: 'Javascript',
            aliases: ['js', 'jsx', 'mjs', 'cjs'],
            keywords: p,
            exports: { PARAMS_CONTAINS: x, CLASS_REFERENCE: C },
            illegal: /#(?![$_A-z])/,
            contains: [
              e.SHEBANG({ label: 'shebang', binary: 'node', relevance: 5 }),
              {
                label: 'use_strict',
                className: 'meta',
                relevance: 10,
                begin: /^\s*['"]use (strict|asm)['"]/
              },
              e.APOS_STRING_MODE,
              e.QUOTE_STRING_MODE,
              g,
              b,
              y,
              w,
              m,
              C,
              { className: 'attr', begin: n + t.lookahead(':'), relevance: 0 },
              P,
              {
                begin:
                  '(' + e.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*',
                keywords: 'return throw case',
                relevance: 0,
                contains: [
                  w,
                  e.REGEXP_MODE,
                  {
                    className: 'function',
                    begin: L,
                    returnBegin: !0,
                    end: '\\s*=>',
                    contains: [
                      {
                        className: 'params',
                        variants: [
                          { begin: e.UNDERSCORE_IDENT_RE, relevance: 0 },
                          { className: null, begin: /\(\s*\)/, skip: !0 },
                          {
                            begin: /\(/,
                            end: /\)/,
                            excludeBegin: !0,
                            excludeEnd: !0,
                            keywords: p,
                            contains: x
                          }
                        ]
                      }
                    ]
                  },
                  { begin: /,/, relevance: 0 },
                  { match: /\s+/, relevance: 0 },
                  {
                    variants: [
                      { begin: '<>', end: '</>' },
                      { match: /<[A-Za-z0-9\\._:-]+\s*\/>/ },
                      {
                        begin: d.begin,
                        'on:begin': d.isTrulyOpeningTag,
                        end: d.end
                      }
                    ],
                    subLanguage: 'xml',
                    contains: [
                      {
                        begin: d.begin,
                        end: d.end,
                        skip: !0,
                        contains: ['self']
                      }
                    ]
                  }
                ]
              },
              T,
              { beginKeywords: 'while if switch catch for' },
              {
                begin:
                  '\\b(?!function)' +
                  e.UNDERSCORE_IDENT_RE +
                  '\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{',
                returnBegin: !0,
                label: 'func.def',
                contains: [
                  A,
                  e.inherit(e.TITLE_MODE, {
                    begin: n,
                    className: 'title.function'
                  })
                ]
              },
              { match: /\.\.\./, relevance: 0 },
              k,
              { match: '\\$' + n, relevance: 0 },
              {
                match: [/\bconstructor(?=\s*\()/],
                className: { 1: 'title.function' },
                contains: [A]
              },
              N,
              {
                relevance: 0,
                match: /\b[A-Z][A-Z_0-9]+\b/,
                className: 'variable.constant'
              },
              S,
              I,
              { match: /\$[(.]/ }
            ]
          }
        }
      },
      5313: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = ['true', 'false', 'null'],
            n = { scope: 'literal', beginKeywords: t.join(' ') }
          return {
            name: 'JSON',
            keywords: { literal: t },
            contains: [
              {
                className: 'attr',
                begin: /"(\\.|[^\\"\r\n])*"(?=\s*:)/,
                relevance: 1.01
              },
              { match: /[{}[\],:]/, className: 'punctuation', relevance: 0 },
              e.QUOTE_STRING_MODE,
              n,
              e.C_NUMBER_MODE,
              e.C_LINE_COMMENT_MODE,
              e.C_BLOCK_COMMENT_MODE
            ],
            illegal: '\\S'
          }
        }
        n.d(t, { Z: () => r })
      },
      3739: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = { relevance: 0, contains: [{ begin: "('|\\.')+" }] }
          return {
            name: 'Matlab',
            keywords: {
              keyword:
                'arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while',
              built_in:
                'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell '
            },
            illegal: '(//|"|#|/\\*|\\s+/\\w+)',
            contains: [
              {
                className: 'function',
                beginKeywords: 'function',
                end: '$',
                contains: [
                  e.UNDERSCORE_TITLE_MODE,
                  {
                    className: 'params',
                    variants: [
                      { begin: '\\(', end: '\\)' },
                      { begin: '\\[', end: '\\]' }
                    ]
                  }
                ]
              },
              {
                className: 'built_in',
                begin: /true|false/,
                relevance: 0,
                starts: t
              },
              { begin: "[a-zA-Z][a-zA-Z_0-9]*('|\\.')+", relevance: 0 },
              {
                className: 'number',
                begin: e.C_NUMBER_RE,
                relevance: 0,
                starts: t
              },
              {
                className: 'string',
                begin: "'",
                end: "'",
                contains: [{ begin: "''" }]
              },
              { begin: /\]|\}|\)/, relevance: 0, starts: t },
              {
                className: 'string',
                begin: '"',
                end: '"',
                contains: [{ begin: '""' }],
                starts: t
              },
              e.COMMENT('^\\s*%\\{\\s*$', '^\\s*%\\}\\s*$'),
              e.COMMENT('%', '$')
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      2772: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n = /(?![A-Za-z0-9])(?![$])/,
            r = t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/, n),
            s = t.concat(
              /(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,
              n
            ),
            i = { scope: 'variable', match: '\\$+' + r },
            o = {
              scope: 'subst',
              variants: [{ begin: /\$\w+/ }, { begin: /\{\$/, end: /\}/ }]
            },
            a = e.inherit(e.APOS_STRING_MODE, { illegal: null }),
            l = '[ \t\n]',
            c = {
              scope: 'string',
              variants: [
                e.inherit(e.QUOTE_STRING_MODE, {
                  illegal: null,
                  contains: e.QUOTE_STRING_MODE.contains.concat(o)
                }),
                a,
                e.END_SAME_AS_BEGIN({
                  begin: /<<<[ \t]*(\w+)\n/,
                  end: /[ \t]*(\w+)\b/,
                  contains: e.QUOTE_STRING_MODE.contains.concat(o)
                })
              ]
            },
            u = {
              scope: 'number',
              variants: [
                { begin: '\\b0[bB][01]+(?:_[01]+)*\\b' },
                { begin: '\\b0[oO][0-7]+(?:_[0-7]+)*\\b' },
                { begin: '\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b' },
                {
                  begin:
                    '(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?'
                }
              ],
              relevance: 0
            },
            d = ['false', 'null', 'true'],
            p = [
              '__CLASS__',
              '__DIR__',
              '__FILE__',
              '__FUNCTION__',
              '__COMPILER_HALT_OFFSET__',
              '__LINE__',
              '__METHOD__',
              '__NAMESPACE__',
              '__TRAIT__',
              'die',
              'echo',
              'exit',
              'include',
              'include_once',
              'print',
              'require',
              'require_once',
              'array',
              'abstract',
              'and',
              'as',
              'binary',
              'bool',
              'boolean',
              'break',
              'callable',
              'case',
              'catch',
              'class',
              'clone',
              'const',
              'continue',
              'declare',
              'default',
              'do',
              'double',
              'else',
              'elseif',
              'empty',
              'enddeclare',
              'endfor',
              'endforeach',
              'endif',
              'endswitch',
              'endwhile',
              'enum',
              'eval',
              'extends',
              'final',
              'finally',
              'float',
              'for',
              'foreach',
              'from',
              'global',
              'goto',
              'if',
              'implements',
              'instanceof',
              'insteadof',
              'int',
              'integer',
              'interface',
              'isset',
              'iterable',
              'list',
              'match|0',
              'mixed',
              'new',
              'never',
              'object',
              'or',
              'private',
              'protected',
              'public',
              'readonly',
              'real',
              'return',
              'string',
              'switch',
              'throw',
              'trait',
              'try',
              'unset',
              'use',
              'var',
              'void',
              'while',
              'xor',
              'yield'
            ],
            h = [
              'Error|0',
              'AppendIterator',
              'ArgumentCountError',
              'ArithmeticError',
              'ArrayIterator',
              'ArrayObject',
              'AssertionError',
              'BadFunctionCallException',
              'BadMethodCallException',
              'CachingIterator',
              'CallbackFilterIterator',
              'CompileError',
              'Countable',
              'DirectoryIterator',
              'DivisionByZeroError',
              'DomainException',
              'EmptyIterator',
              'ErrorException',
              'Exception',
              'FilesystemIterator',
              'FilterIterator',
              'GlobIterator',
              'InfiniteIterator',
              'InvalidArgumentException',
              'IteratorIterator',
              'LengthException',
              'LimitIterator',
              'LogicException',
              'MultipleIterator',
              'NoRewindIterator',
              'OutOfBoundsException',
              'OutOfRangeException',
              'OuterIterator',
              'OverflowException',
              'ParentIterator',
              'ParseError',
              'RangeException',
              'RecursiveArrayIterator',
              'RecursiveCachingIterator',
              'RecursiveCallbackFilterIterator',
              'RecursiveDirectoryIterator',
              'RecursiveFilterIterator',
              'RecursiveIterator',
              'RecursiveIteratorIterator',
              'RecursiveRegexIterator',
              'RecursiveTreeIterator',
              'RegexIterator',
              'RuntimeException',
              'SeekableIterator',
              'SplDoublyLinkedList',
              'SplFileInfo',
              'SplFileObject',
              'SplFixedArray',
              'SplHeap',
              'SplMaxHeap',
              'SplMinHeap',
              'SplObjectStorage',
              'SplObserver',
              'SplPriorityQueue',
              'SplQueue',
              'SplStack',
              'SplSubject',
              'SplTempFileObject',
              'TypeError',
              'UnderflowException',
              'UnexpectedValueException',
              'UnhandledMatchError',
              'ArrayAccess',
              'BackedEnum',
              'Closure',
              'Fiber',
              'Generator',
              'Iterator',
              'IteratorAggregate',
              'Serializable',
              'Stringable',
              'Throwable',
              'Traversable',
              'UnitEnum',
              'WeakReference',
              'WeakMap',
              'Directory',
              '__PHP_Incomplete_Class',
              'parent',
              'php_user_filter',
              'self',
              'static',
              'stdClass'
            ],
            f = {
              keyword: p,
              literal: (e => {
                const t = []
                return (
                  e.forEach(e => {
                    t.push(e),
                      e.toLowerCase() === e
                        ? t.push(e.toUpperCase())
                        : t.push(e.toLowerCase())
                  }),
                  t
                )
              })(d),
              built_in: h
            },
            m = e => e.map(e => e.replace(/\|\d+$/, '')),
            _ = {
              variants: [
                {
                  match: [
                    /new/,
                    t.concat(l, '+'),
                    t.concat('(?!', m(h).join('\\b|'), '\\b)'),
                    s
                  ],
                  scope: { 1: 'keyword', 4: 'title.class' }
                }
              ]
            },
            g = t.concat(r, '\\b(?!\\()'),
            b = {
              variants: [
                {
                  match: [t.concat(/::/, t.lookahead(/(?!class\b)/)), g],
                  scope: { 2: 'variable.constant' }
                },
                { match: [/::/, /class/], scope: { 2: 'variable.language' } },
                {
                  match: [s, t.concat(/::/, t.lookahead(/(?!class\b)/)), g],
                  scope: { 1: 'title.class', 3: 'variable.constant' }
                },
                {
                  match: [s, t.concat('::', t.lookahead(/(?!class\b)/))],
                  scope: { 1: 'title.class' }
                },
                {
                  match: [s, /::/, /class/],
                  scope: { 1: 'title.class', 3: 'variable.language' }
                }
              ]
            },
            y = {
              scope: 'attr',
              match: t.concat(r, t.lookahead(':'), t.lookahead(/(?!::)/))
            },
            w = {
              relevance: 0,
              begin: /\(/,
              end: /\)/,
              keywords: f,
              contains: [y, i, b, e.C_BLOCK_COMMENT_MODE, c, u, _]
            },
            v = {
              relevance: 0,
              match: [
                /\b/,
                t.concat(
                  '(?!fn\\b|function\\b|',
                  m(p).join('\\b|'),
                  '|',
                  m(h).join('\\b|'),
                  '\\b)'
                ),
                r,
                t.concat(l, '*'),
                t.lookahead(/(?=\()/)
              ],
              scope: { 3: 'title.function.invoke' },
              contains: [w]
            }
          w.contains.push(v)
          const E = [y, b, e.C_BLOCK_COMMENT_MODE, c, u, _]
          return {
            case_insensitive: !1,
            keywords: f,
            contains: [
              {
                begin: t.concat(/#\[\s*/, s),
                beginScope: 'meta',
                end: /]/,
                endScope: 'meta',
                keywords: { literal: d, keyword: ['new', 'array'] },
                contains: [
                  {
                    begin: /\[/,
                    end: /]/,
                    keywords: { literal: d, keyword: ['new', 'array'] },
                    contains: ['self', ...E]
                  },
                  ...E,
                  { scope: 'meta', match: s }
                ]
              },
              e.HASH_COMMENT_MODE,
              e.COMMENT('//', '$'),
              e.COMMENT('/\\*', '\\*/', {
                contains: [{ scope: 'doctag', match: '@[A-Za-z]+' }]
              }),
              {
                match: /__halt_compiler\(\);/,
                keywords: '__halt_compiler',
                starts: {
                  scope: 'comment',
                  end: e.MATCH_NOTHING_RE,
                  contains: [{ match: /\?>/, scope: 'meta', endsParent: !0 }]
                }
              },
              {
                scope: 'meta',
                variants: [
                  { begin: /<\?php/, relevance: 10 },
                  { begin: /<\?=/ },
                  { begin: /<\?/, relevance: 0.1 },
                  { begin: /\?>/ }
                ]
              },
              { scope: 'variable.language', match: /\$this\b/ },
              i,
              v,
              b,
              {
                match: [/const/, /\s/, r],
                scope: { 1: 'keyword', 3: 'variable.constant' }
              },
              _,
              {
                scope: 'function',
                relevance: 0,
                beginKeywords: 'fn function',
                end: /[;{]/,
                excludeEnd: !0,
                illegal: '[$%\\[]',
                contains: [
                  { beginKeywords: 'use' },
                  e.UNDERSCORE_TITLE_MODE,
                  { begin: '=>', endsParent: !0 },
                  {
                    scope: 'params',
                    begin: '\\(',
                    end: '\\)',
                    excludeBegin: !0,
                    excludeEnd: !0,
                    keywords: f,
                    contains: ['self', i, b, e.C_BLOCK_COMMENT_MODE, c, u]
                  }
                ]
              },
              {
                scope: 'class',
                variants: [
                  { beginKeywords: 'enum', illegal: /[($"]/ },
                  { beginKeywords: 'class interface trait', illegal: /[:($"]/ }
                ],
                relevance: 0,
                end: /\{/,
                excludeEnd: !0,
                contains: [
                  { beginKeywords: 'extends implements' },
                  e.UNDERSCORE_TITLE_MODE
                ]
              },
              {
                beginKeywords: 'namespace',
                relevance: 0,
                end: ';',
                illegal: /[.']/,
                contains: [
                  e.inherit(e.UNDERSCORE_TITLE_MODE, { scope: 'title.class' })
                ]
              },
              {
                beginKeywords: 'use',
                relevance: 0,
                end: ';',
                contains: [
                  { match: /\b(as|const|function)\b/, scope: 'keyword' },
                  e.UNDERSCORE_TITLE_MODE
                ]
              },
              c,
              u
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      6177: (e, t, n) => {
        'use strict'
        function r (e) {
          return {
            name: 'Plain text',
            aliases: ['text', 'txt'],
            disableAutodetect: !0
          }
        }
        n.d(t, { Z: () => r })
      },
      5110: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n = /[\p{XID_Start}_]\p{XID_Continue}*/u,
            r = [
              'and',
              'as',
              'assert',
              'async',
              'await',
              'break',
              'case',
              'class',
              'continue',
              'def',
              'del',
              'elif',
              'else',
              'except',
              'finally',
              'for',
              'from',
              'global',
              'if',
              'import',
              'in',
              'is',
              'lambda',
              'match',
              'nonlocal|10',
              'not',
              'or',
              'pass',
              'raise',
              'return',
              'try',
              'while',
              'with',
              'yield'
            ],
            s = {
              $pattern: /[A-Za-z]\w+|__\w+__/,
              keyword: r,
              built_in: [
                '__import__',
                'abs',
                'all',
                'any',
                'ascii',
                'bin',
                'bool',
                'breakpoint',
                'bytearray',
                'bytes',
                'callable',
                'chr',
                'classmethod',
                'compile',
                'complex',
                'delattr',
                'dict',
                'dir',
                'divmod',
                'enumerate',
                'eval',
                'exec',
                'filter',
                'float',
                'format',
                'frozenset',
                'getattr',
                'globals',
                'hasattr',
                'hash',
                'help',
                'hex',
                'id',
                'input',
                'int',
                'isinstance',
                'issubclass',
                'iter',
                'len',
                'list',
                'locals',
                'map',
                'max',
                'memoryview',
                'min',
                'next',
                'object',
                'oct',
                'open',
                'ord',
                'pow',
                'print',
                'property',
                'range',
                'repr',
                'reversed',
                'round',
                'set',
                'setattr',
                'slice',
                'sorted',
                'staticmethod',
                'str',
                'sum',
                'super',
                'tuple',
                'type',
                'vars',
                'zip'
              ],
              literal: [
                '__debug__',
                'Ellipsis',
                'False',
                'None',
                'NotImplemented',
                'True'
              ],
              type: [
                'Any',
                'Callable',
                'Coroutine',
                'Dict',
                'List',
                'Literal',
                'Generic',
                'Optional',
                'Sequence',
                'Set',
                'Tuple',
                'Type',
                'Union'
              ]
            },
            i = { className: 'meta', begin: /^(>>>|\.\.\.) / },
            o = {
              className: 'subst',
              begin: /\{/,
              end: /\}/,
              keywords: s,
              illegal: /#/
            },
            a = { begin: /\{\{/, relevance: 0 },
            l = {
              className: 'string',
              contains: [e.BACKSLASH_ESCAPE],
              variants: [
                {
                  begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,
                  end: /'''/,
                  contains: [e.BACKSLASH_ESCAPE, i],
                  relevance: 10
                },
                {
                  begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,
                  end: /"""/,
                  contains: [e.BACKSLASH_ESCAPE, i],
                  relevance: 10
                },
                {
                  begin: /([fF][rR]|[rR][fF]|[fF])'''/,
                  end: /'''/,
                  contains: [e.BACKSLASH_ESCAPE, i, a, o]
                },
                {
                  begin: /([fF][rR]|[rR][fF]|[fF])"""/,
                  end: /"""/,
                  contains: [e.BACKSLASH_ESCAPE, i, a, o]
                },
                { begin: /([uU]|[rR])'/, end: /'/, relevance: 10 },
                { begin: /([uU]|[rR])"/, end: /"/, relevance: 10 },
                { begin: /([bB]|[bB][rR]|[rR][bB])'/, end: /'/ },
                { begin: /([bB]|[bB][rR]|[rR][bB])"/, end: /"/ },
                {
                  begin: /([fF][rR]|[rR][fF]|[fF])'/,
                  end: /'/,
                  contains: [e.BACKSLASH_ESCAPE, a, o]
                },
                {
                  begin: /([fF][rR]|[rR][fF]|[fF])"/,
                  end: /"/,
                  contains: [e.BACKSLASH_ESCAPE, a, o]
                },
                e.APOS_STRING_MODE,
                e.QUOTE_STRING_MODE
              ]
            },
            c = '[0-9](_?[0-9])*',
            u = `(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,
            d = `\\b|${r.join('|')}`,
            p = {
              className: 'number',
              relevance: 0,
              variants: [
                { begin: `(\\b(${c})|(${u}))[eE][+-]?(${c})[jJ]?(?=${d})` },
                { begin: `(${u})[jJ]?` },
                { begin: `\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})` },
                { begin: `\\b0[bB](_?[01])+[lL]?(?=${d})` },
                { begin: `\\b0[oO](_?[0-7])+[lL]?(?=${d})` },
                { begin: `\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})` },
                { begin: `\\b(${c})[jJ](?=${d})` }
              ]
            },
            h = {
              className: 'comment',
              begin: t.lookahead(/# type:/),
              end: /$/,
              keywords: s,
              contains: [
                { begin: /# type:/ },
                { begin: /#/, end: /\b\B/, endsWithParent: !0 }
              ]
            },
            f = {
              className: 'params',
              variants: [
                { className: '', begin: /\(\s*\)/, skip: !0 },
                {
                  begin: /\(/,
                  end: /\)/,
                  excludeBegin: !0,
                  excludeEnd: !0,
                  keywords: s,
                  contains: ['self', i, p, l, e.HASH_COMMENT_MODE]
                }
              ]
            }
          return (
            (o.contains = [l, p, i]),
            {
              name: 'Python',
              aliases: ['py', 'gyp', 'ipython'],
              unicodeRegex: !0,
              keywords: s,
              illegal: /(<\/|->|\?)|=>/,
              contains: [
                i,
                p,
                { begin: /\bself\b/ },
                { beginKeywords: 'if', relevance: 0 },
                l,
                h,
                e.HASH_COMMENT_MODE,
                {
                  match: [/\bdef/, /\s+/, n],
                  scope: { 1: 'keyword', 3: 'title.function' },
                  contains: [f]
                },
                {
                  variants: [
                    {
                      match: [/\bclass/, /\s+/, n, /\s*/, /\(\s*/, n, /\s*\)/]
                    },
                    { match: [/\bclass/, /\s+/, n] }
                  ],
                  scope: {
                    1: 'keyword',
                    3: 'title.class',
                    6: 'title.class.inherited'
                  }
                },
                {
                  className: 'meta',
                  begin: /^[\t ]*@/,
                  end: /(?=#)|$/,
                  contains: [p, f, l]
                }
              ]
            }
          )
        }
        n.d(t, { Z: () => r })
      },
      3778: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,
            r = t.either(
              /0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,
              /0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,
              /(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/
            ),
            s = /[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,
            i = t.either(/[()]/, /[{}]/, /\[\[/, /[[\]]/, /\\/, /,/)
          return {
            name: 'R',
            keywords: {
              $pattern: n,
              keyword: 'function if in break next repeat else for while',
              literal:
                'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10',
              built_in:
                'LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm'
            },
            contains: [
              e.COMMENT(/#'/, /$/, {
                contains: [
                  {
                    scope: 'doctag',
                    match: /@examples/,
                    starts: {
                      end: t.lookahead(
                        t.either(/\n^#'\s*(?=@[a-zA-Z]+)/, /\n^(?!#')/)
                      ),
                      endsParent: !0
                    }
                  },
                  {
                    scope: 'doctag',
                    begin: '@param',
                    end: /$/,
                    contains: [
                      {
                        scope: 'variable',
                        variants: [
                          { match: n },
                          { match: /`(?:\\.|[^`\\])+`/ }
                        ],
                        endsParent: !0
                      }
                    ]
                  },
                  { scope: 'doctag', match: /@[a-zA-Z]+/ },
                  { scope: 'keyword', match: /\\[a-zA-Z]+/ }
                ]
              }),
              e.HASH_COMMENT_MODE,
              {
                scope: 'string',
                contains: [e.BACKSLASH_ESCAPE],
                variants: [
                  e.END_SAME_AS_BEGIN({ begin: /[rR]"(-*)\(/, end: /\)(-*)"/ }),
                  e.END_SAME_AS_BEGIN({ begin: /[rR]"(-*)\{/, end: /\}(-*)"/ }),
                  e.END_SAME_AS_BEGIN({ begin: /[rR]"(-*)\[/, end: /\](-*)"/ }),
                  e.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\(/, end: /\)(-*)'/ }),
                  e.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\{/, end: /\}(-*)'/ }),
                  e.END_SAME_AS_BEGIN({ begin: /[rR]'(-*)\[/, end: /\](-*)'/ }),
                  { begin: '"', end: '"', relevance: 0 },
                  { begin: "'", end: "'", relevance: 0 }
                ]
              },
              {
                relevance: 0,
                variants: [
                  { scope: { 1: 'operator', 2: 'number' }, match: [s, r] },
                  {
                    scope: { 1: 'operator', 2: 'number' },
                    match: [/%[^%]*%/, r]
                  },
                  { scope: { 1: 'punctuation', 2: 'number' }, match: [i, r] },
                  { scope: { 2: 'number' }, match: [/[^a-zA-Z0-9._]|^/, r] }
                ]
              },
              { scope: { 3: 'operator' }, match: [n, /\s+/, /<-/, /\s+/] },
              {
                scope: 'operator',
                relevance: 0,
                variants: [{ match: s }, { match: /%[^%]*%/ }]
              },
              { scope: 'punctuation', relevance: 0, match: i },
              { begin: '`', end: '`', contains: [{ begin: /\\./ }] }
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      4435: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n =
              '([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)',
            r = t.either(/\b([A-Z]+[a-z0-9]+)+/, /\b([A-Z]+[a-z0-9]+)+[A-Z]+/),
            s = t.concat(r, /(::\w+)*/),
            i = {
              'variable.constant': ['__FILE__', '__LINE__'],
              'variable.language': ['self', 'super'],
              keyword: [
                'alias',
                'and',
                'attr_accessor',
                'attr_reader',
                'attr_writer',
                'begin',
                'BEGIN',
                'break',
                'case',
                'class',
                'defined',
                'do',
                'else',
                'elsif',
                'end',
                'END',
                'ensure',
                'for',
                'if',
                'in',
                'include',
                'module',
                'next',
                'not',
                'or',
                'redo',
                'require',
                'rescue',
                'retry',
                'return',
                'then',
                'undef',
                'unless',
                'until',
                'when',
                'while',
                'yield'
              ],
              built_in: ['proc', 'lambda'],
              literal: ['true', 'false', 'nil']
            },
            o = { className: 'doctag', begin: '@[A-Za-z]+' },
            a = { begin: '#<', end: '>' },
            l = [
              e.COMMENT('#', '$', { contains: [o] }),
              e.COMMENT('^=begin', '^=end', { contains: [o], relevance: 10 }),
              e.COMMENT('^__END__', e.MATCH_NOTHING_RE)
            ],
            c = { className: 'subst', begin: /#\{/, end: /\}/, keywords: i },
            u = {
              className: 'string',
              contains: [e.BACKSLASH_ESCAPE, c],
              variants: [
                { begin: /'/, end: /'/ },
                { begin: /"/, end: /"/ },
                { begin: /`/, end: /`/ },
                { begin: /%[qQwWx]?\(/, end: /\)/ },
                { begin: /%[qQwWx]?\[/, end: /\]/ },
                { begin: /%[qQwWx]?\{/, end: /\}/ },
                { begin: /%[qQwWx]?</, end: />/ },
                { begin: /%[qQwWx]?\//, end: /\// },
                { begin: /%[qQwWx]?%/, end: /%/ },
                { begin: /%[qQwWx]?-/, end: /-/ },
                { begin: /%[qQwWx]?\|/, end: /\|/ },
                { begin: /\B\?(\\\d{1,3})/ },
                { begin: /\B\?(\\x[A-Fa-f0-9]{1,2})/ },
                { begin: /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/ },
                {
                  begin: /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/
                },
                { begin: /\B\?\\(c|C-)[\x20-\x7e]/ },
                { begin: /\B\?\\?\S/ },
                {
                  begin: t.concat(
                    /<<[-~]?'?/,
                    t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)
                  ),
                  contains: [
                    e.END_SAME_AS_BEGIN({
                      begin: /(\w+)/,
                      end: /(\w+)/,
                      contains: [e.BACKSLASH_ESCAPE, c]
                    })
                  ]
                }
              ]
            },
            d = '[0-9](_?[0-9])*',
            p = {
              className: 'number',
              relevance: 0,
              variants: [
                {
                  begin: `\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`
                },
                { begin: '\\b0[dD][0-9](_?[0-9])*r?i?\\b' },
                { begin: '\\b0[bB][0-1](_?[0-1])*r?i?\\b' },
                { begin: '\\b0[oO][0-7](_?[0-7])*r?i?\\b' },
                { begin: '\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b' },
                { begin: '\\b0(_?[0-7])+r?i?\\b' }
              ]
            },
            h = {
              variants: [
                { match: /\(\)/ },
                {
                  className: 'params',
                  begin: /\(/,
                  end: /(?=\))/,
                  excludeBegin: !0,
                  endsParent: !0,
                  keywords: i
                }
              ]
            },
            f = [
              u,
              {
                variants: [
                  { match: [/class\s+/, s, /\s+<\s+/, s] },
                  { match: [/class\s+/, s] }
                ],
                scope: { 2: 'title.class', 4: 'title.class.inherited' },
                keywords: i
              },
              {
                relevance: 0,
                match: [s, /\.new[ (]/],
                scope: { 1: 'title.class' }
              },
              {
                relevance: 0,
                match: /\b[A-Z][A-Z_0-9]+\b/,
                className: 'variable.constant'
              },
              {
                match: [/def/, /\s+/, n],
                scope: { 1: 'keyword', 3: 'title.function' },
                contains: [h]
              },
              { begin: e.IDENT_RE + '::' },
              {
                className: 'symbol',
                begin: e.UNDERSCORE_IDENT_RE + '(!|\\?)?:',
                relevance: 0
              },
              {
                className: 'symbol',
                begin: ':(?!\\s)',
                contains: [u, { begin: n }],
                relevance: 0
              },
              p,
              {
                className: 'variable',
                begin:
                  "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"
              },
              {
                className: 'params',
                begin: /\|/,
                end: /\|/,
                excludeBegin: !0,
                excludeEnd: !0,
                relevance: 0,
                keywords: i
              },
              {
                begin: '(' + e.RE_STARTERS_RE + '|unless)\\s*',
                keywords: 'unless',
                contains: [
                  {
                    className: 'regexp',
                    contains: [e.BACKSLASH_ESCAPE, c],
                    illegal: /\n/,
                    variants: [
                      { begin: '/', end: '/[a-z]*' },
                      { begin: /%r\{/, end: /\}[a-z]*/ },
                      { begin: '%r\\(', end: '\\)[a-z]*' },
                      { begin: '%r!', end: '![a-z]*' },
                      { begin: '%r\\[', end: '\\][a-z]*' }
                    ]
                  }
                ].concat(a, l),
                relevance: 0
              }
            ].concat(a, l)
          ;(c.contains = f), (h.contains = f)
          const m = [
            { begin: /^\s*=>/, starts: { end: '$', contains: f } },
            {
              className: 'meta.prompt',
              begin:
                '^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])',
              starts: { end: '$', keywords: i, contains: f }
            }
          ]
          return (
            l.unshift(a),
            {
              name: 'Ruby',
              aliases: ['rb', 'gemspec', 'podspec', 'thor', 'irb'],
              keywords: i,
              illegal: /\/\*/,
              contains: [e.SHEBANG({ binary: 'ruby' })]
                .concat(m)
                .concat(l)
                .concat(f)
            }
          )
        }
        n.d(t, { Z: () => r })
      },
      359: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = e.regex,
            n = {
              className: 'title.function.invoke',
              relevance: 0,
              begin: t.concat(
                /\b/,
                /(?!let\b)/,
                e.IDENT_RE,
                t.lookahead(/\s*\(/)
              )
            },
            r = '([ui](8|16|32|64|128|size)|f(32|64))?',
            s = [
              'drop ',
              'Copy',
              'Send',
              'Sized',
              'Sync',
              'Drop',
              'Fn',
              'FnMut',
              'FnOnce',
              'ToOwned',
              'Clone',
              'Debug',
              'PartialEq',
              'PartialOrd',
              'Eq',
              'Ord',
              'AsRef',
              'AsMut',
              'Into',
              'From',
              'Default',
              'Iterator',
              'Extend',
              'IntoIterator',
              'DoubleEndedIterator',
              'ExactSizeIterator',
              'SliceConcatExt',
              'ToString',
              'assert!',
              'assert_eq!',
              'bitflags!',
              'bytes!',
              'cfg!',
              'col!',
              'concat!',
              'concat_idents!',
              'debug_assert!',
              'debug_assert_eq!',
              'env!',
              'panic!',
              'file!',
              'format!',
              'format_args!',
              'include_bytes!',
              'include_str!',
              'line!',
              'local_data_key!',
              'module_path!',
              'option_env!',
              'print!',
              'println!',
              'select!',
              'stringify!',
              'try!',
              'unimplemented!',
              'unreachable!',
              'vec!',
              'write!',
              'writeln!',
              'macro_rules!',
              'assert_ne!',
              'debug_assert_ne!'
            ],
            i = [
              'i8',
              'i16',
              'i32',
              'i64',
              'i128',
              'isize',
              'u8',
              'u16',
              'u32',
              'u64',
              'u128',
              'usize',
              'f32',
              'f64',
              'str',
              'char',
              'bool',
              'Box',
              'Option',
              'Result',
              'String',
              'Vec'
            ]
          return {
            name: 'Rust',
            aliases: ['rs'],
            keywords: {
              $pattern: e.IDENT_RE + '!?',
              type: i,
              keyword: [
                'abstract',
                'as',
                'async',
                'await',
                'become',
                'box',
                'break',
                'const',
                'continue',
                'crate',
                'do',
                'dyn',
                'else',
                'enum',
                'extern',
                'false',
                'final',
                'fn',
                'for',
                'if',
                'impl',
                'in',
                'let',
                'loop',
                'macro',
                'match',
                'mod',
                'move',
                'mut',
                'override',
                'priv',
                'pub',
                'ref',
                'return',
                'self',
                'Self',
                'static',
                'struct',
                'super',
                'trait',
                'true',
                'try',
                'type',
                'typeof',
                'unsafe',
                'unsized',
                'use',
                'virtual',
                'where',
                'while',
                'yield'
              ],
              literal: ['true', 'false', 'Some', 'None', 'Ok', 'Err'],
              built_in: s
            },
            illegal: '</',
            contains: [
              e.C_LINE_COMMENT_MODE,
              e.COMMENT('/\\*', '\\*/', { contains: ['self'] }),
              e.inherit(e.QUOTE_STRING_MODE, { begin: /b?"/, illegal: null }),
              {
                className: 'string',
                variants: [
                  { begin: /b?r(#*)"(.|\n)*?"\1(?!#)/ },
                  { begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/ }
                ]
              },
              { className: 'symbol', begin: /'[a-zA-Z_][a-zA-Z0-9_]*/ },
              {
                className: 'number',
                variants: [
                  { begin: '\\b0b([01_]+)' + r },
                  { begin: '\\b0o([0-7_]+)' + r },
                  { begin: '\\b0x([A-Fa-f0-9_]+)' + r },
                  {
                    begin: '\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)' + r
                  }
                ],
                relevance: 0
              },
              {
                begin: [/fn/, /\s+/, e.UNDERSCORE_IDENT_RE],
                className: { 1: 'keyword', 3: 'title.function' }
              },
              {
                className: 'meta',
                begin: '#!?\\[',
                end: '\\]',
                contains: [{ className: 'string', begin: /"/, end: /"/ }]
              },
              {
                begin: [/let/, /\s+/, /(?:mut\s+)?/, e.UNDERSCORE_IDENT_RE],
                className: { 1: 'keyword', 3: 'keyword', 4: 'variable' }
              },
              {
                begin: [/for/, /\s+/, e.UNDERSCORE_IDENT_RE, /\s+/, /in/],
                className: { 1: 'keyword', 3: 'variable', 5: 'keyword' }
              },
              {
                begin: [/type/, /\s+/, e.UNDERSCORE_IDENT_RE],
                className: { 1: 'keyword', 3: 'title.class' }
              },
              {
                begin: [
                  /(?:trait|enum|struct|union|impl|for)/,
                  /\s+/,
                  e.UNDERSCORE_IDENT_RE
                ],
                className: { 1: 'keyword', 3: 'title.class' }
              },
              {
                begin: e.IDENT_RE + '::',
                keywords: { keyword: 'Self', built_in: s, type: i }
              },
              { className: 'punctuation', begin: '->' },
              n
            ]
          }
        }
        n.d(t, { Z: () => r })
      },
      4442: (e, t, n) => {
        'use strict'
        function r (e) {
          const t = 'true false yes no null',
            n = "[\\w#;/?:@&=+$,.~*'()[\\]]+",
            r = {
              className: 'string',
              relevance: 0,
              variants: [
                { begin: /'/, end: /'/ },
                { begin: /"/, end: /"/ },
                { begin: /\S+/ }
              ],
              contains: [
                e.BACKSLASH_ESCAPE,
                {
                  className: 'template-variable',
                  variants: [
                    { begin: /\{\{/, end: /\}\}/ },
                    { begin: /%\{/, end: /\}/ }
                  ]
                }
              ]
            },
            s = e.inherit(r, {
              variants: [
                { begin: /'/, end: /'/ },
                { begin: /"/, end: /"/ },
                { begin: /[^\s,{}[\]]+/ }
              ]
            }),
            i = {
              end: ',',
              endsWithParent: !0,
              excludeEnd: !0,
              keywords: t,
              relevance: 0
            },
            o = {
              begin: /\{/,
              end: /\}/,
              contains: [i],
              illegal: '\\n',
              relevance: 0
            },
            a = {
              begin: '\\[',
              end: '\\]',
              contains: [i],
              illegal: '\\n',
              relevance: 0
            },
            l = [
              {
                className: 'attr',
                variants: [
                  { begin: '\\w[\\w :\\/.-]*:(?=[ \t]|$)' },
                  { begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' },
                  { begin: "'\\w[\\w :\\/.-]*':(?=[ \t]|$)" }
                ]
              },
              { className: 'meta', begin: '^---\\s*$', relevance: 10 },
              {
                className: 'string',
                begin:
                  '[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*'
              },
              {
                begin: '<%[%=-]?',
                end: '[%-]?%>',
                subLanguage: 'ruby',
                excludeBegin: !0,
                excludeEnd: !0,
                relevance: 0
              },
              { className: 'type', begin: '!\\w+!' + n },
              { className: 'type', begin: '!<' + n + '>' },
              { className: 'type', begin: '!' + n },
              { className: 'type', begin: '!!' + n },
              { className: 'meta', begin: '&' + e.UNDERSCORE_IDENT_RE + '$' },
              { className: 'meta', begin: '\\*' + e.UNDERSCORE_IDENT_RE + '$' },
              { className: 'bullet', begin: '-(?=[ ]|$)', relevance: 0 },
              e.HASH_COMMENT_MODE,
              { beginKeywords: t, keywords: { literal: t } },
              {
                className: 'number',
                begin:
                  '\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b'
              },
              {
                className: 'number',
                begin: e.C_NUMBER_RE + '\\b',
                relevance: 0
              },
              o,
              a,
              r
            ],
            c = [...l]
          return (
            c.pop(),
            c.push(s),
            (i.contains = c),
            {
              name: 'YAML',
              case_insensitive: !0,
              aliases: ['yml'],
              contains: l
            }
          )
        }
        n.d(t, { Z: () => r })
      }
    },
    i = {}
  function o (e) {
    var t = i[e]
    if (void 0 !== t) return t.exports
    var n = (i[e] = { id: e, loaded: !1, exports: {} })
    return s[e].call(n.exports, n, n.exports, o), (n.loaded = !0), n.exports
  }
  ;(e =
    'function' == typeof Symbol
      ? Symbol('webpack queues')
      : '__webpack_queues__'),
    (t =
      'function' == typeof Symbol
        ? Symbol('webpack exports')
        : '__webpack_exports__'),
    (n =
      'function' == typeof Symbol
        ? Symbol('webpack error')
        : '__webpack_error__'),
    (r = e => {
      e &&
        !e.d &&
        ((e.d = 1),
        e.forEach(e => e.r--),
        e.forEach(e => (e.r-- ? e.r++ : e())))
    }),
    (o.a = (s, i, o) => {
      var a
      o && ((a = []).d = 1)
      var l,
        c,
        u,
        d = new Set(),
        p = s.exports,
        h = new Promise((e, t) => {
          ;(u = t), (c = e)
        })
      ;(h[t] = p),
        (h[e] = e => (a && e(a), d.forEach(e), h.catch(e => {}))),
        (s.exports = h),
        i(
          s => {
            var i
            l = (s =>
              s.map(s => {
                if (null !== s && 'object' == typeof s) {
                  if (s[e]) return s
                  if (s.then) {
                    var i = []
                    ;(i.d = 0),
                      s.then(
                        e => {
                          ;(o[t] = e), r(i)
                        },
                        e => {
                          ;(o[n] = e), r(i)
                        }
                      )
                    var o = {}
                    return (o[e] = e => e(i)), o
                  }
                }
                var a = {}
                return (a[e] = e => {}), (a[t] = s), a
              }))(s)
            var o = () =>
                l.map(e => {
                  if (e[n]) throw e[n]
                  return e[t]
                }),
              c = new Promise(t => {
                ;(i = () => t(o)).r = 0
                var n = e =>
                  e !== a &&
                  !d.has(e) &&
                  (d.add(e), e && !e.d && (i.r++, e.push(i)))
                l.map(t => t[e](n))
              })
            return i.r ? c : o()
          },
          e => (e ? u((h[n] = e)) : c(p), r(a))
        ),
        a && (a.d = 0)
    }),
    (o.d = (e, t) => {
      for (var n in t)
        o.o(t, n) &&
          !o.o(e, n) &&
          Object.defineProperty(e, n, { enumerable: !0, get: t[n] })
    }),
    (o.g = (function () {
      if ('object' == typeof globalThis) return globalThis
      try {
        return this || new Function('return this')()
      } catch (e) {
        if ('object' == typeof window) return window
      }
    })()),
    (o.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
    (o.r = e => {
      'undefined' != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
        Object.defineProperty(e, '__esModule', { value: !0 })
    }),
    (o.nmd = e => ((e.paths = []), e.children || (e.children = []), e)),
    o(7802)
})()
